R и SPSS разница

в ближайшее время я буду анализировать огромное количество данных, связанных с сетевым трафиком, и предварительно обработаю данные для их анализа. Я обнаружил, что R и SPSS являются одними из самых популярных инструментов статистического анализа. Я также буду генерировать довольно много графиков и диаграмм. Поэтому мне было интересно, в чем основная разница между этими двумя программами.

Я не спрашиваю, Какой из них лучше, но просто хотел знать, в чем разница с точки зрения рабочего процесса между ними (кроме того, что SPSS имеет GUI). Я буду в основном работать со сценариями в любом случае, поэтому я хотел узнать о других различиях.

11 ответов


Я работаю в компании, которая использует SPSS для большинства наших анализов данных, и по разным причинам - я начал пытаться использовать R для все большего и большего собственного анализа. Некоторые из самых больших различий, с которыми я столкнулся, включают:

  1. вывод таблиц-SPSS имеет базовые таблицы, общие таблицы, пользовательские таблицы и т. д., которые все выводятся в этот отличный просмотрщик данных или как они его называют. Их можно относительно легко транспортировать к документам Word или листам Excel для дальнейший анализ / презентация. Эквивалентная функция в R включает в себя обучение LaTex или через odfWeave или Lyx или что-то в этом роде.
  2. маркировка данных --> SPSS делает довольно хорошую работу с метками переменных и метками значений. Я не нашел надежного решения для R для выполнения этой же задачи.
  3. вы упоминаете, что собираетесь писать сценарии большую часть своей работы, и лично я нахожу синтаксис сценариев SPSS абсолютно ужасным, до такой степени, что Я перестал работать с SPSS, когда это было возможно. Синтаксис R кажется гораздо более логичным и более точно соответствует стандартам программирования, и есть очень активное сообщество, на которое можно положиться, если у вас возникнут проблемы (например). Я не нашел хорошего сообщества SPSS, чтобы задавать вопросы, когда я сталкиваюсь с проблемами.

другие указали на некоторые из самых больших различий с точки зрения стоимости и функциональности программ. Если вам нужно сотрудничать с другими людьми, их уровень комфорта с SPSS или R должен играть фактор, поскольку вы не хотите быть единственным в своей группе, который может работать или редактировать сценарий, который вы написали в будущем.

Если вы собираетесь изучать R, этот пост на веб-сайте Stats exchange имеет кучу отличных ресурсов для обучения R:https://stats.stackexchange.com/questions/138/resources-for-learning-r


вот что я отправил в список рассылки R-help некоторое время назад, но я думаю, что это дает хороший обзор высокого уровня общей разницы в R и SPSS:

говоря о дружелюбии пользователя компьютерного программного обеспечения Мне нравится аналогия автомобилей против автобусов:

шины очень просты в использовании, вы просто нужно знать, на какой автобус сесть, где сесть и где сойти? (и вам нужно заплатить за проезд). Автомобили с другой рука требует гораздо больше работа, вам нужно иметь некоторый тип карта или направления (даже если карта в вашей голове), вам нужно положить газ внутри время от времени тебе нужно знать. правила дорожного движения (имеют некоторый тип водительских прав). Большой плюс из автомобиля, что он может принять вас куча мест, которых нет в автобусе идти и быстрее для некоторых поездок это потребует передачи между автобусы.

используя эти программы аналогии, такие как SPSS являются автобусы, легкие для использования для стандартные вещи, но очень неприятно если вы хотите сделать что-то еще не запрограммирован.

R-внедорожник с 4 колесами (хотя экологически чистые) с велосипедом на спине, каяк сверху, хорошо обувь для ходьбы и бега сиденье легкового и альпинизм и спелеологическое оборудование сзади.

R может принять вас везде вы хотите пойти если вы берете время на leard, как использовать оборудование, но это будет займет больше времени, чем изучение того, где автобусные остановки находятся в SPSS.

есть GUIs для R, которые делают его немного проще в использовании, но также ограничивают функциональность, которую можно использовать так легко. У SPSS есть сценарии, которые выходят за рамки простой шины, но общая философия SPSS направляет людей к GUI, а не к сценариям.


начальный рабочий процесс для SPSS включает в себя оправдание написания большого толстого чека. Р находится в свободном доступе.

R имеет один язык для "сценариев", но не думайте об этом так, R-это действительно язык программирования с отличной обработкой данных, статистикой и встроенной графической функциональностью. SPSS имеет "синтаксис", "скрипты", а также скрипты в Python.

другая важная заключается в том, что ГСЗ сжимает свои данные в spreadsheety структуру таблицы. Работа с другими структуры данных, вероятно, очень сложны, но естественно приходит к R. Я не знал бы, где начать обработку данных типа сетевого графика в SPSS, но есть пакет, чтобы сделать это для R.

также с помощью R вы можете интегрировать свой рабочий процесс с отчетностью с помощью Sweave-вы пишете документ со встроенными битами кода R, которые генерируют графики или таблицы, запускаете файл через систему и выходит отчет в формате PDF. Отлично подходит, когда вы хотите сделать еженедельный отчет, или вы делаете тело работы и затем босс дает вам обновленный набор данных. Повторите, прочтите, готово.

но вы знаете, ваш звонок...


Ну, ты неплохой программист? Если да, то стоит изучить R. Вы можете сделать больше с вашими данными, как с точки зрения манипуляции, так и статистического моделирования, чем с SPSS, и ваши графики, вероятно, тоже будут лучше. С другой стороны, если вы никогда по-настоящему не программировали раньше или находите идею потратить несколько месяцев на то, чтобы стать программистом, пугающей, вы, вероятно, получите больше пользы от SPSS. Уровень вещей, которые вы можете сделать с R, не погружаясь в его власть как полноценный язык программирования, вероятно, не оправдывает усилий.

есть еще один вариант -- collaborate. Знаете ли вы кого-то, с кем вы можете работать над вашим проектом (вы не говорите, является ли это академическим или промышленным, но в любом случае...), кто хорошо знает R?


здесь есть интересное (и разумно справедливое) сравнение между рядом инструментов статистики

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


У меня нет данных для этого, но из моего опыта я могу сказать вам одну вещь:

SPSS намного медленнее, чем R. (И я действительно имею в виду много)

величина разницы, вероятно, так же велика, как и между C++ и R.

например, мне никогда не приходилось ждать дольше пары секунд в R. используя SPSS и аналогичные данные, у меня были вычисления, которые заняли больше 10 минут.

Как несвязанная сторона примечания: на мой взгляд, в недавнем обсуждении скорости R этот момент был как-то упущен (т. е. сравнение с SPSS). Более того, я удивлен, как эта дискуссия всплыла на некоторое время и снова бесшумно исчезла.


есть несколько отличных ответов выше, но я постараюсь предоставить свои 2 цента. Мой отдел полностью полагается на SPSS для нашей работы, но в последние месяцы я прилагаю сознательные усилия, чтобы узнать R; частично по некоторым причинам, перечисленным выше (скорость, обширные структуры данных, доступные пакеты и т. д.)

тем не менее, вот несколько вещей, которые я подобрал по пути:

  1. Если у вас нет опыта программирования, я думаю, создание сводные таблицы в CTABLES уничтожают любую доступную опцию в R. На сегодняшний день я не знаю пакета, который может реплицировать то, что может быть создано с помощью пользовательских таблиц.

  2. SPSS кажется медленнее при написании сценариев, и да, синтаксис SPSS ужасен. Тем не менее, я обнаружил, что scipts в SPSS всегда можно улучшить, но с помощью команды EXECUTE экономно.

  3. SPSS и R могут взаимодействовать друг с другом, хотя кажется, что это один из способов (только когда использование R внутри SPSS, а не наоборот). Тем не менее, я обнаружил, что это мало пользы, кроме того, если я хочу использовать ggplot2 или для некоторых других передовых методов управления данными. (Я презираю макросы SPSS).

  4. Я давно чувствовал, что" отчетная " работа, созданная в SPSS, намного уступает другим решениям. Как упоминалось выше, если вы можете использовать LaTex и Sweave, вы будете очень довольны своими эффективными рабочими процессами.

  5. Я удалось выполнить расширенный анализ, используя OMS в SPSS. Почти все можно перенаправить в новый набор данных, но я обнаружил, что большинство пользователей SPSS не используют эту функцию. Кроме того, при просмотре примеров в R он просто чувствует себя "проще", чем с помощью OMS.

короче говоря, я использую SPSS, когда я не могу быстро понять это в R, но я искренне намерен уйти от SPSS и полностью использовать R в какой-то момент в ближайшем будущем.


SPSS предоставляет графический интерфейс для легкой интеграции существующих программ R или разработки новых. Для получения дополнительной информации см. сообщество SPSS на IBM работает разработчик.


Я работаю в компании и могу сказать следующее:

  • Если у вас есть большая команда разных людей (не все ученые данных), SPSS полезен, потому что он прост (относительно), чтобы понять. Например, если пользователи собираются запустить модель для получения результата (оценки продаж и т. д.), SPSS понятен и прост в использовании.

тем не менее, я нахожу R лучше почти во всех других смыслах:

  • R быстрее (хотя, иногда спорный)
  • как уже говорилось ранее, синтаксис в SPSS является aweful (я не могу подчеркнуть это достаточно). С другой стороны, R может быть больно учиться, но есть тонны ресурсов в интернете, и в конце концов он платит гораздо больше из-за различных вещей, которые вы можете сделать.
  • опять же, как и все остальные говорят, небо является пределом с R. тонны пакетов, ресурсов и, что более важно: indepedence делать, как вам нравится. В моей организации у нас есть некоторые функции очень высокого уровня, которые получают многое сделано. Трудная часть-создать их один раз, но затем они выполняют сложные задачи, которые SPSS запутает в бесконечной паутине холста. Это особенно верно для таких вещей, как петли.

это часто упускается из виду, но R также имеет множество функций для сотрудничества между командами (интеграция github с RStudio и легкое создание пакетов с devtools).

на самом деле, если все в вашей организации знают R, все, что вам нужно, это поддерживать базовый пакет на github, чтобы поделиться всем. Это, конечно, не норма, поэтому я думаю, что SPSS, хотя и худший продукт, все еще имеет рынок.


@Henrik, я сделал ту же задачу, которую вы упомянули (C++ и R) на SPSS. И оказалось, что SPSS быстрее по сравнению с R на этом. В моем случае SPSS-это aprox. 7 раз быстрее. Меня это удивляет.

вот код, который я использовал в 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.

проверьте это видео, почему хорошо сочетать SPSS и R...

ссылке

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

Если у вас установлена совместимая копия R, вы можете подключиться к ней из IBM SPSS Modeler и выполнять построение моделей и скоринг моделей с помощью пользовательских алгоритмов R, которые могут быть развернуты в IBM SPSS Modeler. У вас также должна быть копия IBM Установлен SPSS Modeler-Essentials для R. IBM SPSS Modeler-Essentials for R предоставляет инструменты, необходимые для начала разработки пользовательских приложений R для использования с IBM SPSS Modeler.