Чтение SAS data sets из R

Допустим Вы подготовили данные для анализа в SAS и хотите воспользоваться богатыми возможностями предоставляемыми многочисленными R-библиотеками. Причин на это может быть несколько.
  • Например у вас нет лицензии на нужный продукт (IML, Miner, и т.д.)
  • В SAS ещё нет соответствующего метода/алгоритма/функционала (удобный синтаксис для операций над матрицами, какие-то новые методы изобретенные недавно, графические возможности (ggplot2), парсинг различных форматов данных, подготовка отчетов и презентаций (knitr) и т.д,)
  • Вы хотите иметь доступ к source code для того что бы разобраться детально как работает алгоритм и, возможно, изменить его под свои нужды
Последний пункт, на мой взгляд, особенно важен. Ну и конечно ни один продукт/язык программирования не решает все задачи одинаково хорошо, поэтому иногда имеет смысл использовать сильные стороны имеющихся в распоряжении интсрументов. А R — интсрумент мало того что хороший, но еще и бесплатный.
Со своей стороны SAS предоставляет интерфейс для вызова R функций через IML:
Calling Functions in the R Language. Но его у Вас может не быть, поэтому можно экспортировать данные в CSV формат и потом считать их в R. Более быстрый и удобный способ — воспользоваться библиотекой haven. Недавно вышла новая версия этого пакета, о чем автор написал на сайте r-bloggers.
Пример чтения:
# Установка package:
install.packages("haven")
# Загрузка библиотеки в R
library(haven)
Описание функций пакета можно найти на сайте CRAN в pdf файле.
Пример входных данных можно скачать из GitHub репозитория: hadley.sas7bdat. Сохранив файл локально, считываем его командой:
data = read_sas("D:/_tmp/hadley.sas7bdat")
На выходе получаем data.frame структуру данных с именованными переменными:

Добавить комментарий

Войти с помощью: 

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.