R и SPSS разница - PullRequest
       97

R и SPSS разница

36 голосов
/ 24 сентября 2010

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

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

Ответы [ 11 ]

35 голосов
/ 24 сентября 2010

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

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

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

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

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

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

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

34 голосов
/ 24 сентября 2010

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

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

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

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

23 голосов
/ 24 сентября 2010

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

R имеет единый язык для «сценариев», но не думайте об этом так, R на самом деле является языком программирования со встроенными большими возможностями для обработки данных, статистики и графики. 'и также является сценарием в Python.

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

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

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

8 голосов
/ 24 сентября 2010

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

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

6 голосов
/ 24 сентября 2010

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

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

4 голосов
/ 29 июля 2015

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

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

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

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

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

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

3 голосов
/ 24 сентября 2010

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

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

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

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

2 голосов
/ 25 ноября 2013

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

2 голосов
/ 24 сентября 2010

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

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

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

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

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

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

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

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

1 голос
/ 17 января 2011

@ Хенрик, я выполнил ту же задачу, которую вы упомянули ( 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.
...