Прочитать файл 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! Надеюсь это поможет!!!!

Другие вопросы по тегам