阅读R中的Stata 13文件

时间:2014-05-27 21:10:52

标签: r stata

有没有办法在R?

中读取Stata版本13数据集文件

我尝试过以下操作:

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

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

  

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

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

6 个答案:

答案 0 :(得分:83)

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

安装软件包并使用read.dta13():

读取Stata 13数据集
install.packages("readstata13")

library(readstata13)
dat <- read.dta13("TEAdataSTATA.dta")

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

有关该套餐的更多信息:https://github.com/sjewo/readstata13

答案 1 :(得分:26)

Hadley Wickham创建了一个名为Haven的新程序包,它可以加载Stata 13 dta文件(以及SAS和SPSS文件)

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

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

答案 2 :(得分:13)

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

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

详情可在http://radyakin.org/transfer/use13/use13.htm

找到

仍然使用Stata的其他替代方案涉及将Stata格式导出到R将读取的其他内容,例如,基于文本的文件。请参阅Stata中的help export

更新

启动Stata 14,saveold有一个version()选项,允许用Stata .dta格式保存Stata 11格式。

答案 3 :(得分:6)

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

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

答案 4 :(得分:2)

我遇到了同样的问题。尝试entrypoint.shread.dta13但没有任何效果。然后尝试了最简单和最不期望的:MS Excel!它开得很漂亮。我把它保存为read.dta并在R中使用!!!希望这有助于!!!!

答案 5 :(得分:1)

我不熟悉有关其能力的R计划的现状 阅读其他文件格式,但如果有人没有在他们的计算机上安装Stata而R无法读取Stata的dta文件的特定版本,则Python中的Pandas现在可以完成绝大多数此类转换

基本上,dta文件中的数据首先使用pandas.read_stata函数加载。自版本0.23.0起,支持的编码和格式可在related answer of mine

中找到

然后,可以将数据保存为csv文件并导入它们 使用标准R函数,或者使用pandas.DataFrame.to_feather函数,它使用在Apache Arrow上构建的序列化格式导出数据。后者在R中有广泛的支持,因为promote interoperabilityPandas一起构思。