在R中读取Stata 14文件

时间:2016-02-20 04:35:55

标签: r stata

我已经尝试了一千次不同的时间来阅读Stata14上的R文件,由于某种原因,我不断发生奇怪的事情(比如变量丢失等)。

原始文件保存在Stata 1314中,因此read.dta()命令不起作用。我也试过read.dta13()并且它有时会读取它但是它会在某个位置切断数据库并且不会给我数据集中包含的所有变量(我可以在Stata上看到并完美地工作)。可以找到原始文件here并向下滚动到Uruguay

有人对如何解决这个问题有任何想法?我很厌倦与R争论,正确阅读我的Stata文件,当它在Stata中完美运行时。

4 个答案:

答案 0 :(得分:19)

我知道这是一个老话题,但每次我google"用R&#34读取stata 14;我来到这个未解决的答案。

社区SO已经回答了这个问题:Read Stata 13 file in R

截至今天,有一个CRAN包用于读取stata 13和14:

install.packages("readstata13")

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

我希望你觉得这很有用。

答案 1 :(得分:15)

查看Hadley的haven包裹CRANgithub)。它:

  

适用于Stata 13和14文件(国外只适用于Stata 12)。

     

还可以编写SPSS和Stata文件(如果你这么做很难测试   遇到任何问题,请告诉我。)

安装完成后,您只需:

read_dta("path/to/file")

答案 2 :(得分:2)

您应该将数据转换为通用格式,例如 CSV 或Excel工作表 XLS XLSX 。 Stata允许您创建一个体面的文本数据集,几乎任何版本的统计软件都可以高度移植。

为此,请转到文件 - &gt; 导出或分别仅使用export delimitedexport excel。有关详细信息,请在Stata命令行中键入help export

您还可以使用 saveold 命令将数据降级到Stata 12,甚至Stata 11:

saveold "name.dta", version(11)

此命令将创建可在Stata 14中创建的最早的数据集。这可能会解决您的问题,但我仍建议使用 CSV 格式。这是在不同软件之间传输数据时的工作原理。

答案 3 :(得分:0)

要将过于现代的 Stata 数据转换为旧版本(比如 14 到 13),以下代码可以帮助您:

write_dta(Data, "Path, version = 13, label = attr(data, "label"))