Прочитать файл Stata 13 в R
Есть ли способ прочитать файл набора данных Stata версии 13 в R?
Я пытался сделать следующее:
> library(foreign)
> data = read.dta("TEAdataSTATA.dta")
Однако я получил ошибку:
Ошибка в read.dta("TEAdataSTATA.dta"):
не файл Stata версии 5-12 .dta
Может ли кто-нибудь указать, есть ли способ это исправить?
6 ответов
Если у вас есть Stata 13, вы можете загрузить его и сохранить в формате Stata 12 с помощью команды saveold
(увидеть help saveold
). После этого отнеси его в R.
Если у вас есть, Stata 10 - 12, вы можете использовать пользовательскую команду use13
, (Сергей Радякин) загрузить и сохранить там; затем к Р. Вы можете установить use13
Бег ssc install use13
,
Подробности можно найти на http://radyakin.org/transfer/use13/use13.htm
Другие альтернативы, все еще с Stata, включают экспорт формата Stata во что-то еще, что R будет читать, например, текстовые файлы. Увидеть help export
в Стате.
Обновить
Начиная Stata 14, saveold
имеет version()
опция, позволяющая сохранять в форматах Stata.dta столько же лет, сколько Stata 11.
Существует новый пакет для импорта файлов Stata 13 в файл data.frame в R.
Установите пакет и прочитайте набор данных Stata 13 с помощью read.dta13():
install.packages("readstata13")
library(readstata13)
dat <- read.dta13("TEAdataSTATA.dta")
Обновление: readstata13 импортирует в версии 0.8 также файлы от Stata 6 до 14
Подробнее о пакете: https://github.com/sjewo/readstata13
Существует новый пакет Haven от Hadley Wickham, который может загружать файлы Stata 13 dta (а также файлы SAS и SPSS).
library(haven) # haven package now available on cran
df <- read_dta('c:/somefile.dta')
Смотрите: https://github.com/hadley/haven
В то же время команда savespss стала членом архива SSC и может быть установлена в Stata с помощью: findit savespss
Домашняя страница http://www.radyakin.org/transfer/savespss/savespss.htm продолжает работать, но теперь программу следует устанавливать из SSC, а не из бета-версии.
Я не знаком с текущим состоянием программ R относительно их способности читать другие форматы файлов, но если у кого-то нет установленной Stata на их компьютере, и R не может прочитать определенную версию Stata dta
файлы, Pandas
В Python теперь можно делать подавляющее большинство таких преобразований.
В основном, данные из dta
файл сначала загружается с помощью pandas.read_stata
функция. По версии 0.23.0
Поддерживаемая кодировка и форматы можно найти в моем ответе.
Затем можно сохранить данные как csv
файл и импортировать их, используя стандартные функции R, или вместо этого использовать pandas.DataFrame.to_feather
функция, которая экспортирует данные с использованием формата сериализации, построенного на Apache Arrow. Последний имеет обширную поддержку в R, так как он был задуман для обеспечения взаимодействия с Pandas
,
У меня такая же проблема. Пытался read.dta13
, read.dta
но ничего не получалось. Тогда попробовал самое простое и наименее ожидаемое: MS Excel! Это открылось чудесно. Я сохранил это как .csv
и используется в R! Надеюсь это поможет!!!!