web-dev-qa-db-fra.com

Différence R et SPSS

J'analyserai prochainement une grande quantité de données liées au trafic réseau et les traiterai avant de les analyser. J'ai constaté que R et SPSS sont parmi les outils d'analyse statistique les plus populaires. Je générerai également pas mal de graphiques et de tableaux. Par conséquent, je me demandais quelle est la différence fondamentale entre ces deux logiciels. 

Je ne demande pas lequel des deux est le meilleur, mais je voulais juste savoir quelle est la différence en termes de flux de travail entre les deux (outre le fait que SPSS dispose d'une interface graphique). De toute façon, je travaillerai surtout avec des scripts dans les deux cas, donc je voulais connaître les autres différences.

35
sfactor

Je travaille dans une entreprise qui utilise SPSS pour la majorité de nos analyses de données et pour diverses raisons - j'ai commencé à essayer d'utiliser R pour de plus en plus de ma propre analyse. Certaines des plus grandes différences que j'ai rencontrées incluent:

  1. Sortie des tables - SPSS contient des tables de base, des tables générales, des tables personnalisées, etc., qui sont toutes sorties vers cette visionneuse de données astucieuse ou peu importe comment ils l'appellent. Ceux-ci peuvent être relativement facilement transportés vers des documents Word ou des feuilles Excel pour une analyse/présentation ultérieure. La fonction équivalente dans R implique d'apprendre LaTex ou d'utiliser une odfWeave ou Lyx ou quelque chose de ce genre.
  2. Etiquetage des données -> SPSS fait un très bon travail avec les étiquettes de variable et les étiquettes de valeur. Je n'ai pas trouvé de solution solide pour que R puisse accomplir la même tâche.
  3. Vous indiquez que vous allez rédiger l’essentiel de votre travail dans les scripts. Personnellement, je trouve la syntaxe de script de SPSS absolument horrible, au point que j’ai cessé de travailler avec SPSS chaque fois que cela est possible. La syntaxe R semble beaucoup plus logique et respecte plus étroitement les normes de programmation ET il existe une communauté très active sur laquelle compter, en cas de problème (par exemple, SO). Je n'ai pas trouvé de bonne communauté SPSS à qui poser des questions lorsque j'ai des problèmes.

D'autres ont souligné certaines des grandes différences en termes de coût et de fonctionnalité des programmes. Si vous devez collaborer avec d'autres personnes, leur niveau de confort avec SPSS ou R devrait jouer un rôle important car vous ne souhaitez pas être le seul membre de votre groupe à pouvoir modifier ou modifier un script que vous avez écrit à l'avenir.

Si vous allez apprendre R, cet article sur le site web d'échange de statistiques propose de nombreuses ressources pour apprendre R: https://stats.stackexchange.com/questions/138/resources-for-learning-r

33
Chase

Voici quelque chose que j'ai posté sur la liste de diffusion de R-help il y a quelque temps, mais je pense que cela donne une bonne vue d'ensemble de la différence générale entre R et SPSS:

Quand on parle de convivialité des logiciels que j’aime le analogie voitures/autobus: 

Les bus sont très faciles à utiliser, vous venez besoin de savoir quel bus monter, où monter et où descendre (et vous devez payer votre billet). Des voitures d'autre part exigent beaucoup plus travailler, vous devez avoir un certain type de carte ou directions (même si la carte est dans votre tête ), vous devez mettre du gaz dans de temps en temps, vous devez savoir les règles de la route (avoir un certain type de permis de conduire). Le gros avantage de la voiture est que cela peut vous prendre un tas d'endroits que le bus ne fait pas allez et c'est plus rapide pour certains voyages cela nécessiterait un transfert entre les bus. 

En utilisant cette analogie, des programmes tels que SPSS sont des bus, faciles à utiliser pour le choses standard, mais très frustrant si vous voulez faire quelque chose qui est pas déjà préprogrammé. 

R est un SUV à 4 roues motrices (bien que Écologique) avec un vélo sur le dos, un kayak sur le dessus, bon chaussures de marche et de course dans le siège de passager et escalade en montagne et spéléologie à l'arrière. 

R peut vous emmener où vous voulez si vous prenez le temps d'apprendre à utiliser l'équipement, mais ça va prendre plus de temps que d'apprendre où le les arrêts de bus sont en SPSS.

Il existe des interfaces graphiques pour R qui facilitent son utilisation, mais limitent également les fonctionnalités qui peuvent être utilisées aussi facilement. SPSS a des scripts qui vont au-delà du simple bus, mais la philosophie générale de SPSS oriente les utilisateurs vers l'interface graphique plutôt que vers les scripts.

34
Greg Snow

Le flux de travail initial pour SPSS consiste à justifier l’écriture d’un gros chèque. R est disponible gratuitement.

R utilise un seul langage pour «écrire des scripts», mais ne le considérez pas comme tel. R est en réalité un langage de programmation doté de fonctionnalités de traitement des données, de statistiques et graphiques intégrées. SPSS contient «Syntaxe», «Scripts» et également scriptable en Python. 

Un autre inconvénient majeur est que SPSS compresse ses données dans une structure de tableau de répartition. Traiter avec d'autres structures de données est probablement très difficile, mais cela vient naturellement de R. Je ne saurais pas par où commencer pour traiter les données de type graphe de réseau dans SPSS, mais il existe un package pour le faire pour R.

Également avec R, vous pouvez intégrer votre flux de travail à vos rapports en utilisant Sweave. Vous rédigez un document avec des éléments de code R intégrés qui génèrent des graphiques ou des tableaux, vous exécutez le fichier dans le système. Le rapport est ensuite généré au format PDF. Idéal lorsque vous souhaitez rédiger un rapport hebdomadaire, ou que vous effectuez un travail complexe, puis que le chef vous fournit un ensemble de données actualisé. Recommencez, relisez-le, c'est fait. 

Mais vous savez, votre appel ...

22
Spacedman

Eh bien, êtes-vous un bon programmeur? Dans ce cas, il vaut la peine d'apprendre le langage R. Vous pouvez faire plus avec vos données, à la fois en termes de manipulation et de modélisation statistique, qu'avec SPSS, et vos graphiques seront également meilleurs. D'un autre côté, si vous n'avez jamais vraiment programmé auparavant, ni trouvé l'idée de passer plusieurs mois à devenir un programmeur intimidant, vous obtiendrez probablement plus de valeur pour SPSS. Le niveau de choses que vous pouvez faire avec R sans plonger dans son pouvoir en tant que langage de programmation à part entière ne justifie probablement pas l'effort.

Il y a une autre option - collaborer. Connaissez-vous une personne avec laquelle vous pouvez travailler sur votre projet (vous ne dites pas que ce soit académique ou industriel, mais de toute façon ...), qui sait bien R?

7
Harlan

Il existe une comparaison intéressante (et raisonnablement juste) entre plusieurs outils de statistiques ici.

http://anyall.org/blog/2009/02/comparison-of-data-analysis-packages-r-matlab-scipy-Excel-sas-spss-stata/

5
Richie Cotton

Je travaille avec une entreprise et je peux dire ce qui suit: 

  • Si vous avez une grande équipe de personnes différentes (pas tous les scientifiques de données), SPSS est utile car il est simple à comprendre. Par exemple, si les utilisateurs doivent exécuter un modèle pour obtenir un résultat (estimations des ventes, etc.), SPSS est clair et facile à utiliser. 

Cela dit, je trouve R meilleur dans presque tous les autres sens:

  • R est plus rapide (bien que, parfois discutable)
  • Comme indiqué précédemment, la syntaxe dans SPSS est affreuse (je ne saurais trop insister là-dessus). D’autre part, R peut être difficile à apprendre, mais il existe des tonnes de ressources en ligne et, au bout du compte, il est beaucoup plus rentable en raison des différentes choses que vous pouvez faire. 
  • Encore une fois, comme tout le monde le dit, le ciel est la limite avec R. Des tonnes de packages, de ressources et plus important encore: une indépendance pour faire ce que vous voulez. Dans mon organisation, nous avons des fonctions de très haut niveau qui font beaucoup de choses. La partie la plus difficile consiste à les créer une fois, mais ils effectuent ensuite des tâches compliquées que SPSS s’immiscerait dans une toile de fond infinie. Ceci est particulièrement vrai pour des choses comme les boucles. 

Il est souvent négligé, mais R offre également de nombreuses fonctionnalités pour coopérer entre les équipes (intégration de github avec RStudio et construction facile de packages avec devtools). 

En fait, si tout le monde dans votre organisation connaît R, tout ce dont vous avez besoin est de maintenir un paquetage de base sur github pour tout partager. Ce n’est bien sûr pas la norme, c’est pourquoi je pense que SPSS, bien qu’il s’agisse d’un pire produit, a toujours un marché. 

3
eflores89

Je n'ai pas de données pour cela, mais de mon expérience, je peux vous dire une chose:

SPSS est beaucoup plus lent que R. (Et avec beaucoup, je veux vraiment dire beaucoup)

L'ampleur de la différence est probablement aussi grande que celle entre C++ et R

Par exemple, je n'ai jamais à attendre plus de quelques secondes dans R. À l'aide de SPSS et de données similaires, des calculs ont duré plus de 10 minutes.

Note de côté indépendante: à mes yeux, lors de la récente discussion sur la vitesse de R, ce point a été négligé (par exemple, la comparaison avec SPSS). De plus, je suis étonné de voir comment cette discussion a surgi pendant un moment et a disparu à nouveau silencieusement.

3
Henrik

SPSS fournit une interface graphique permettant d'intégrer facilement les programmes R existants ou d'en développer de nouveaux. Pour plus d'informations, voir SPSS Community sur IBM Developer Works.

2
BI_Nerd

Il y a quelques bonnes réponses ci-dessus, mais je vais essayer de fournir mes 2 centimes. Mon département dépend entièrement de SPSS pour notre travail, mais au cours des derniers mois, j'ai fait un effort conscient pour apprendre R; en partie, pour certaines des raisons énumérées ci-dessus (vitesse, vastes structures de données, packages disponibles, etc.)

Cela dit, voici quelques points que j'ai relevés en cours de route:

  1. À moins que vous n'ayez une expérience en programmation, je pense que la création de tables récapitulatives dans CTABLES détruit toute option disponible dans R. À ce jour, je ne suis pas un paquet capable de répliquer ce qui peut être créé à l'aide de tableaux personnalisés.

  2. SPSS semble être plus lent lors de la création de scripts, et oui, la syntaxe SPSS est terrible. Cela dit, j'ai constaté qu'il était toujours possible d'améliorer les scipts dans SPSS, mais en utilisant la commande EXECUTE avec parcimonie.

  3. SPSS et R peuvent s’interfacer, bien qu’il semble qu’il s’agisse d’un seul moyen (uniquement lorsque vous utilisez R à l’intérieur de SPSS, et non l’inverse). Cela dit, j’ai trouvé que cela ne servait à rien, sauf si je veux utiliser ggplot2 ou pour d’autres techniques avancées de gestion des données. (Je méprise les macros SPSS).

  4. J'ai longtemps pensé que le travail de création de rapports créé dans SPSS était bien inférieur aux autres solutions. Comme mentionné ci-dessus, si vous pouvez exploiter LaTex et Sweave, vous serez très heureux de l'efficacité de vos flux de travail. 

  5. J'ai pu effectuer des analyses avancées en utilisant le système de gestion de mémoire dans SPSS. Presque tout peut être routé vers un nouvel ensemble de données, mais j'ai constaté que la plupart des utilisateurs de SPSS n'utilisaient pas cette fonctionnalité. En outre, lorsque vous regardez des exemples dans R, vous vous sentez "plus facile" que d'utiliser OMS.

En bref, je me trouve à utiliser SPSS alors que je ne peux pas le comprendre rapidement dans R, mais j'ai sincèrement l'intention de m'éloigner de SPSS et d'utiliser R entièrement dans un avenir proche.

2
Btibert3

@Henrik, j'ai fait la même tâche que vous avez mentionnée ( C++ et R ) sur SPSS. Et il s'est avéré que SPSS est plus rapide que R sur celui-ci. Dans mon cas, SPSS est aprox. 7 fois plus vite. Je suis surpris à ce sujet.

Voici un code que j'ai utilisé dans SPSS.

data list free
 /x (f8.3).
begin data
1
end data.

comp n = 1e6.

comp t1 = $time.

loop #rep = 1 to 10.
comp x = 1.
loop #i=1 to n.
comp x = 1/(1+x).
end loop.
end loop.

comp t2 = $time.

comp elipsed = t2 - t1.

form elipsed (f8.2).

exe.
1
djhurio

Regardez cette vidéo pourquoi il est bon de combiner SPSS et R ...

Lien

http://bluemixanalytics.wordpress.com/2014/08/29/7-good-reasons-to-combine-ibm-spss-analytics-and-r/

Si vous avez installé une copie compatible de R, vous pouvez vous y connecter depuis IBM SPSS Modeler et procéder à la construction et à l'évaluation de modèles à l'aide d'algorithmes R personnalisés pouvant être déployés dans IBM SPSS Modeler. Une copie de IBM SPSS Modeler - Essentials for R doit également être installée. IBM SPSS Modeler - Essentials for R fournit les outils nécessaires pour développer des applications R personnalisées à utiliser avec IBM SPSS Modeler.

0
aruizga