R и SPSS

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

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

Ответ 1

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

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

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

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

Ответ 2

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

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

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

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

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

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

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

Ответ 3

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

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

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

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

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

Ответ 4

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

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

Ответ 6

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

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

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

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

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

Ответ 7

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

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

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

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

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

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

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

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

Ответ 8

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

Ответ 9

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

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

Тем не менее, я нахожу R лучше в любом другом смысле:

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

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

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

Ответ 10

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

Ответ 11

Посмотрите это видео, почему хорошо сочетать 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 for R. IBM SPSS Modeler - Essentials for R предоставляет вам инструменты, необходимые для разработки пользовательских приложений R для использования с IBM SPSS Modeler.