有没有办法在R?
中读取Stata版本13数据集文件我尝试过以下操作:
> library(foreign)
> data = read.dta("TEAdataSTATA.dta")
但是,我收到了一个错误:
read.dta(“TEAdataSTATA.dta”)中的错误:
不是Stata版本5-12 .dta文件
有人可以指出是否有办法解决这个问题?
答案 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')
答案 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.sh
,read.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 interoperability与Pandas
一起构思。