阅读R中的Stata 13文件

kol*_*nel 50 r stata

有没有办法在R中读取Stata版本13数据集文件?

我试图做以下事情:

> library(foreign)
> data = read.dta("TEAdataSTATA.dta") 
Run Code Online (Sandbox Code Playgroud)

但是,我收到了一个错误:

read.dta("TEAdataSTATA.dta")中的错误:
不是Stata版本5-12 .dta文件

有人可以指出是否有办法解决这个问题?

sje*_*ewo 87

有一个新的包可以将Stata 13文件导入到R中的data.frame中.

安装包并使用read.dta13()读取Stata 13数据集:

install.packages("readstata13")

library(readstata13)
dat <- read.dta13("TEAdataSTATA.dta")
Run Code Online (Sandbox Code Playgroud)

更新:版本0.8中的readstata13导入也是Stata 6到14的文件

有关该软件包的更多信息:https://github.com/sjewo/readstata13


yoy*_*sef 27

Hadley Wickham有一个名为Haven的新软件包,它可以加载Stata 13 dta文件(以及SAS和SPSS文件)

library(haven) # haven package now available on cran
df <- read_dta('c:/somefile.dta')
Run Code Online (Sandbox Code Playgroud)

请参阅:https://github.com/hadley/haven

  • 只是想知道,“ haven”在格式方面似乎不如“ readstata13”那么准确,将许多数字变量标记为字符变量。所以对于那些使用`haven`的人来说可能是要考虑的事情。 (2认同)

Rob*_*rer 13

如果您有Stata 13,那么您可以在那里加载它并使用该命令将其保存为Stata 12格式saveold(请参阅参考资料help saveold).然后,把它带到R.

如果你有,Stata 10 - 12,你可以使用用户编写的命令use13(由Sergiy Radyakin)加载并保存在那里; 然后到R.你可以安装use13跑步ssc install use13.

详情请访问http://radyakin.org/transfer/use13/use13.htm

仍然使用Stata的其他替代方案涉及将Stata格式导出为R将读取的其他内容,例如基于文本的文件.help export在Stata内看到.

更新

启动Stata 14,saveold有一个version()选项,允许一个保存Stata .dta格式与Stata 11一样古老.


小智 6

同时,savepss命令成为SSC存档的成员,可以通过以下方式安装到Stata:findit savespss

主页http://www.radyakin.org/transfer/savespss/savespss.htm继续工作,但该程序现在应该从SSC安装,而不是从测试版位置安装.