Прочтите файл Stata 13 в R
Есть ли способ прочитать файл набора данных Stata версии 13 в R?
Я пытался сделать следующее:
> library(foreign)
> data = read.dta("TEAdataSTATA.dta")
Однако я получил ошибку:
Ошибка в read.dta("TEAdataSTATA.dta"):
не файл Stata версии 5-12.dta
Может ли кто-нибудь указать, есть ли способ это исправить?
Ответы
Ответ 1
Если у вас есть Stata 13, вы можете загрузить его там и сохранить его как формат Stata 12 с помощью команды saveold
(см. help saveold
). Затем передайте его R.
Если у вас есть, Stata 10 - 12, вы можете использовать пользовательскую команду use13
, (Сергей Радякин), чтобы загрузить ее и сохранить там; затем в R. Вы можете установить use13
running ssc install use13
.
Подробности можно найти на http://radyakin.org/transfer/use13/use13.htm
Другие альтернативы, все еще содержащие Stata, включают в себя экспорт формата Stata в нечто другое, которое R будет читать, например. текстовые файлы. См. help export
в Stata.
Update
Запуск Stata 14, saveold
имеет параметр version()
, позволяющий сохранять в форматах Stata.dta как старые, как Stata 11.
Ответ 2
Существует новый пакет для импорта файлов Stata 13 в файл data.frame в R.
Установите пакет и прочитайте набор данных Stata 13 с помощью read.dta13():
install.packages("readstata13")
library(readstata13)
dat <- read.dta13("TEAdataSTATA.dta")
Обновить: readstata13 импортирует в версии 0.8 также файлы из Stata 6 to 14
Подробнее о пакете: https://github.com/sjewo/readstata13
Ответ 3
Новый пакет 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
Ответ 4
Тем временем команда savespss стала членом архива SSC и может быть установлена в Stata с помощью: findit savespss
Домашняя страница http://www.radyakin.org/transfer/savespss/savespss.htm продолжает работать, но теперь программу следует устанавливать из SSC, а не из бета-версии.
Ответ 5
У меня такая же проблема. Пробовал read.dta13
, read.dta
но ничего не получалось. Тогда попробовал самое простое и наименее ожидаемое: MS Excel! Это открылось чудесно. Я сохранил его как .csv
и использовал в R !!! Надеюсь это поможет!!!!
Ответ 6
Я не знаком с текущим состоянием программ R относительно их способности
читать файлы других форматов, но если у кого-то нет установленной Stata на своем компьютере и R не может прочитать определенную версию файлов Stata dta
, Pandas
в Python теперь может выполнять подавляющее большинство таких преобразований.
В основном, данные из файла dta
сначала загружаются с использованием функции pandas.read_stata
. Начиная с версии 0.23.0
, поддерживаемые кодировка и форматы можно найти в связанном с моим ответе.
Затем можно сохранить данные в виде файла csv
и импортировать их.
используя стандартные функции R, или вместо этого используйте функцию pandas.DataFrame.to_feather
, которая экспортирует данные с использованием формата сериализации, построенного на Apache Arrow. Последний имеет обширную поддержку в R, так как он был задуман для обеспечения взаимодействия с Pandas
.