Différence entre R et SPSS
j'analyserai sous peu une grande quantité de données relatives au trafic réseau et je prétraiterai les données afin de les analyser. J'ai constaté que R et SPSS sont parmi les outils les plus populaires pour l'analyse statistique. Je générerai aussi pas mal de graphiques et de graphiques. Je me demande donc quelle est la différence fondamentale entre ces deux logiciels.
Je ne demande pas laquelle est la meilleure, mais je voulais juste savoir quelle est la différence en termes de flux de travail entre les deux (en plus du fait que SPSS a une interface graphique). Je travaillerai surtout avec des scripts dans l'un ou l'autre cas de toute façon donc je voulais savoir à propos des autres différences.
11 réponses
je travaille dans une entreprise qui utilise SPSS pour la majorité de notre analyse de données, et pour une variété de raisons - j'ai commencé à essayer D'utiliser R pour de plus en plus de ma propre analyse. Voici quelques-unes des plus grandes différences que j'ai rencontrées:
- sortie de tables - SPSS a des tables de base, des tables générales, des tables personnalisées, etc qui sont toutes sorties à ce lecteur de données astucieux ou quoi qu'ils l'appellent. Il est relativement facile de les transporter vers des documents Word ou Feuilles Excel pour une analyse / présentation plus approfondie. La fonction équivalente dans R implique l'apprentissage
LaTex
ou en utilisant unodfWeave
ouLyx
ou quelque chose de cette nature. - étiquetage des données -- > SPSS fait un très bon travail avec les étiquettes variables et les étiquettes de valeur. Je n'ai pas trouvé de solution robuste pour R pour accomplir cette même tâche.
- vous mentionnez que vous allez être le script de la plupart de votre travail, et personnellement je trouve SPSS la syntaxe de script est absolument épouvantable, au point que j'ai arrêté de travailler avec SPSS chaque fois que c'était possible. La syntaxe R semble beaucoup plus logique et suit les standards de programmation de plus près et il y a une communauté très active sur laquelle Compter si vous rencontrez des problèmes (par exemple). Je n'ai pas trouvé une bonne communauté SPSS pour poser des questions quand je rencontre des problèmes.
D'autres ont souligné certaines des grandes différences en termes de coût et de fonctionnalité de programme. Si vous devez collaborer avec d'autres, leur niveau de confort avec SPSS ou R devrait jouer un rôle car vous ne voulez pas être le seul dans votre groupe qui peut travailler sur ou éditer un script que vous avez écrit dans le futur.
si vous allez apprendre R, Ce post sur le site d'échange de statistiques a un tas de grandes ressources pour apprendre R: https://stats.stackexchange.com/questions/138/resources-for-learning-r
voici quelque chose que j'ai posté à la liste de diffusion R-help il y a un moment, mais je pense qu'il donne un bon aperçu de haut niveau de la différence générale en R et SPSS:
quand on parle de convivialité de logiciels informatiques j'aime le analogie entre les voitures et les bus:
bus sont très faciles à utiliser, vous juste besoin de savoir quel bus prendre, où monter et où descendre (et vous devez payer votre tarif.) Voiture d'autre part exigent beaucoup plus de travail, vous devez avoir un certain type de carte ou directions (même si la carte est dans votre tête), vous devez mettre de l'essence dans chaque maintenant et puis, vous avez besoin de savoir les règles de la route (un certain type de permis de conduire). Le gros avantage de la voiture, c'est qu'il peut vous prendre un tas d'endroits où le bus ne va pas aller et il est plus rapide pour certains voyages cela nécessiterait un transfert entre les bus.
en utilisant ce programmes d'analogie comme SPSS sont des bus, facile à utiliser pour le la norme des choses, mais très frustrant si vous voulez faire quelque chose qui est pas déjà préprogrammés.
R est un 4-roues motrices SUV (bien que respectueux de l'environnement) avec un vélo sur le dos, un kayak sur le dessus, la bonne la marche et des chaussures de sport dans le pasenger et l'alpinisme et l'équipement de spéléologie à l'arrière.
R peuvent vous emmener où vous voulez aller si vous prendre le temps de lire comment utiliser le matériel, mais qui va il faut plus de temps que d'apprendre où le les arrêts de bus sont en SPSS.
Il ya des interfaces graphiques pour R qui le rendent un peu plus facile à utiliser, mais aussi limiter les fonctionnalités qui peuvent être utilisés que facilement. Le SPSS a des scripts qui vont au-delà du simple bus, mais la philosophie générale du SPSS oriente les gens vers L'interface graphique plutôt que vers les scripts.
le travail initial du SPSS consiste à justifier l'émission d'un gros chèque. R est disponible gratuitement.
r a un seul langage pour 'scripting', mais ne pensez pas à cela comme cela, R est vraiment un langage de programmation avec une grande manipulation des données, des statistiques, et des fonctionnalités graphiques intégrés. SPSS a 'syntaxe', 'Scripts' et est aussi scriptable en Python.
un autre gros problème est que SPSS comprime ses données dans un tableur structure. Traiter avec d'autres structures de données est probablement très difficile, mais vient naturellement à R. Je ne saurais pas où commencer à traiter les données de type graphe réseau dans SPSS, mais il ya un paquet pour le faire pour R.
aussi avec R Vous pouvez intégrer votre flux de travail avec votre rapport en utilisant Sweave - vous écrivez un document avec des bits de code R intégrés qui génèrent des parcelles ou des tables, exécuter le fichier à travers le système et sort le rapport comme un PDF. Idéal pour quand vous voulez faire un rapport hebdomadaire, ou vous faites un corps de travail et puis le patron vous donne un ensemble de données mis à jour. Exécutez de nouveau, de le lire, de son fait.
Mais vous savez, votre appel...
êtes-vous un bon programmeur? Si vous l'êtes, alors il est intéressant d'apprendre R. Vous pouvez faire plus avec vos données, tant en termes de manipulation et de modélisation statistique, que vous pouvez avec SPSS, et vos graphiques seront probablement mieux aussi. D'un autre côté, si vous n'avez jamais vraiment programmé avant, ou trouver l'idée de passer plusieurs mois à devenir un programmeur intimidant, vous obtiendrez probablement plus de valeur de SPSS. Le niveau de choses que vous pouvez faire avec R sans plonger dans sa puissance en tant que langage de programmation À part entière ne justifie probablement pas cet effort.
il y a une autre option -- collaborer. Connaissez-vous quelqu'un avec qui vous pouvez travailler sur votre projet (vous ne dites pas si c'est universitaire ou industriel, mais dans les deux cas...), qui sait R?
il y a une comparaison intéressante (et raisonnablement juste) entre un certain nombre d'outils statistiques ici
je n'ai pas de données, mais de mon expérience, je peux vous dire une chose:
SPSS est beaucoup plus lent que R . (Et avec beaucoup de choses, je veux dire vraiment 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. en utilisant SPSS et des données similaires, j'ai eu des calculs qui a pris plus de 10 minutes.
comme une note secondaire sans rapport: à mes yeux, dans la discussion récente sur la vitesse de R, Ce point a été quelque peu négligé (i.e., la comparaison avec SPSS). En outre, je m'étonne que cette discussion ait surgi pendant un certain temps et ait à nouveau disparu en silence.
Il y a quelques grandes réponses ci-dessus, mais je vais essayer de donner mon 2 cents. Mon ministère dépend entièrement de SPSS pour son 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, paquets disponibles, etc.)
cela dit, voici quelques choses que j'ai ramassé le long du chemin:
-
sauf si vous avez de l'expérience programmer, je pense que créer des tables de résumé dans CTABLES détruit toutes les options disponibles dans R. à ce jour, Je ne sais pas Paquet qui peut répliquer ce qui peut être créé en utilisant des Tables personnalisées.
-
SPSS semble être plus lent lors du script, et oui, la syntaxe SPSS est terrible. Cela dit, j'ai constaté que scipts dans SPSS peut toujours être amélioré, mais en utilisant la commande EXECUTE avec parcimonie.
-
SPSS et R can interface entre eux, bien qu'il semble que c'est une façon (seulement en utilisant R à l'intérieur de SPSS, pas l'inverse). Cela dit, j'ai trouvé ceci pour être de peu d'utilité que si je veux utiliser ggplot2 ou pour d'autres avancées de gestion des données techniques. (Je méprise les macros SPSS).
-
je pense depuis longtemps que le travail de" reporting " créé dans SPSS est de loin inférieur à d'autres solutions. Comme mentionné ci-dessus, si vous pouvez tirer parti de LaTex et Sweave, vous serez très satisfait de vos flux de travail efficaces.
-
j'ai été en mesure de faire quelques analyses avancées en tirant profit de L'emo dans le SPSS. Presque tout peut être acheminé vers un nouvel ensemble de données, mais j'ai constaté que la plupart des utilisateurs de SPSS n'utilisent pas cette fonctionnalité. En outre, en regardant les exemples dans R, Il se sent juste "plus facile" que L'utilisation OMS.
en bref, je me retrouve à utiliser SPSS quand je ne peux pas le comprendre rapidement en R, mais j'ai sincèrement l'intention de m'éloigner du SPSS et d'utiliser R entièrement à un moment donné dans un avenir proche.
SPSS fournit une interface graphique permettant d'intégrer facilement les programmes existants ou d'en développer de nouveaux. Pour plus d'informations, voir la communauté SPSS sur IBM Developer Works.
je travaille avec les deux dans une entreprise et peut dire ce qui suit:
- si vous avez une grande équipe de personnes différentes (pas tous les scientifiques de données), SPSS est utile parce qu'il est simple (relativement) à comprendre. Par exemple, si vous exécutez un modèle pour obtenir un résultat (estimations de ventes, etc), SPSS est clair et facile à utiliser.
cela dit, je trouve R mieux dans presque tous les autres sens:
- R est plus rapide (bien que, parfois discutable)
- comme indiqué précédemment, la syntaxe dans SPSS est lourde (Je ne peux pas le souligner assez). D'autre part, R peut être douloureux d'apprendre, mais il ya des tonnes de ressources en ligne et à la fin il paie beaucoup plus 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. tonnes de paquets, de ressources et plus important encore: l'indépendance de faire ce que vous voulez. Dans mon organisation nous avons des fonctions de très haut niveau qui font beaucoup de travail. Le plus dur est de les créer une fois, mais ensuite ils exécutent des tâches compliquées que SPSS enchevêtrerait dans une toile sans fin de toile. C'est particulièrement vrai pour les choses comme les boucles.
il est souvent négligé, mais R a aussi beaucoup de fonctionnalités pour coopérer entre les équipes (intégration github avec RStudio, et la construction de paquets faciles avec devtools).
en fait, si tout le monde dans votre organisation sait R, Tout ce que vous avez besoin est de maintenir un paquet de base sur github pour tout partager. Bien sûr, ce n'est pas la norme, c'est pourquoi je pense que SPSS, bien qu'un produit pire, a encore un marché.
@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 rapide. Je me 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.
Regardez cette vidéo Pourquoi est bon de combiner SPSS et R...
si vous avez une copie compatible de R installé, vous pouvez vous y connecter à partir D'IBM SPSS Modeler et effectuer la construction du modèle et la notation de modèle en utilisant des algorithmes R personnalisés qui peuvent être déployés dans IBM SPSS Modeler. Vous devez également avoir une copie de IBM SPSS Modeler - Essentials for R installé. IBM SPSS Modeler-Essentials for R vous fournit les outils dont vous avez besoin pour commencer à développer des applications R personnalisées pour une utilisation avec IBM SPSS Modeler.