Я использовал в SASтечение 15 лет, и начал использовать Rсерьезно последние 6 месяцев, с некоторыми возиться в нем на пару лет вперед. С точки зрения программирования, осуществляет R ли манипулирование данными напрямую, нет эквивалента DATAили PROC SQLпроцедур, потому что они не нужны (последний более эффективен, SASкогда требуется много манипуляций с данными из внешних источников данных, например административных данных). Это означает, что теперь я понимаю, что манипулирование данными происходит быстрее Rи требует гораздо меньше кода.
Основная проблема, с которой я столкнулся, - это память. Не все пакеты R допускают WEIGHTспецификации типов, поэтому, если у вас есть SASнаборы данных с переменными, используемыми в выражениях FREQили REPLICATE, у вас могут возникнуть проблемы. Я посмотрел на ffи bigmemoryпакетов в R , но они не появляются , чтобы быть совместимым со всеми пакетами R, поэтому если у вас есть очень большие наборы данных , которые требуют анализа, которые относительно редко, и были объединены, могут возникнуть проблемы с памятью.
Для автоматизации, если у вас есть, SAS macrosвы должны быть в состоянии запрограммировать эквивалент в Rи запустить как пакетный.
Для кодирования Rя использовал Notepad++и установил язык R, а теперь открываю радости R Studio. Оба эти продукта бесплатны и делают разметку языка как улучшенный SASсинтаксис GUI (я только когда-либо использовал экран синтаксиса в SAS).
Существует веб-сайт и соответствующая книга для людей, которые меняются с SASна R. Я нашел их полезными для того, чтобы попытаться понять, как перевести некоторые SASкоманды в R.
Обновление: одна вещь , которая отвезла меня орехи , когда подходит к R, что Rне берет на себя все это набор данных ( data frameв Rпросторечии), потому что это не статистический пакет таким образом , что SAS, SPSS, Stata, и т.д.. Так, например, мне потребовалось некоторое время, чтобы заставить ifоператоры работать, потому что я продолжал получать помощь для ifоператоров с векторами (или, возможно, матрицами), тогда как мне нужно было ifоператор, который работал с data frames. Таким образом, страницы справки, вероятно, нужно читать более внимательно, чем обычно, потому что вам нужно проверить, что команда, которую вы хотите выполнить, будет работать с вашим типом объекта данных.
То, что до сих пор сводит меня с ума, когда я изучаю новую Rкоманду (например, метод анализа в предоставленном пакете), заключается в том, что справка по командам часто не является полностью автономной. Я пойду на страницу справки, чтобы попытаться выучить команду, и в ней часто ...содержатся замечания по использованию . Иногда пытаясь понять, что может или должно пойти туда, куда ...ведет меня в рекурсивный цикл. Относительная краткость справочных заметок, из SASкоторых приводятся подробные примеры синтаксиса и рабочие примеры с объяснением исследования на этом примере, была довольно большим шоком.