Подтвердить что ты не робот

Прочтите файл Stata 13 в R

Есть ли способ прочитать файл набора данных Stata версии 13 в R?

Я пытался сделать следующее:

> library(foreign)
> data = read.dta("TEAdataSTATA.dta") 

Однако я получил ошибку:

Ошибка в read.dta("TEAdataSTATA.dta"):
не файл Stata версии 5-12.dta

Может ли кто-нибудь указать, есть ли способ это исправить?

4b9b3361

Ответ 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.