简体   繁体   中英

Reading Stata 14 file in R

I have tried a thousand different times to read a Stata14 file on R , and for some reason I keep getting weird things happening (like variables dropped and such.)

The original file is saved in Stata 13 or 14 , so the read.dta() command does not work. I also tried read.dta13() and it reads it sometimes but it cuts off the database at a certain spot and does not give me all the variables contained in the data set (which I can see and work with perfectly on Stata). The original file can be found here and scrolling down to Uruguay .

Anyone got any ideas on how to fix this issue? I am tired of arguing with R to read my Stata file correctly, when it works perfectly in Stata .

I know this is an old thread but every time I google "read stata 14 with R" I come to this unresolved answer.

Community on SO have answered this: Read Stata 13 file in R

As of today, there is a CRAN package to read stata 13 and 14 using this:

install.packages("readstata13")

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

I hope you find this useful.

Have a look at Hadley's haven package ( CRAN , github ). It:

Works with Stata 13 and 14 files (foreign only works up to Stata 12).

Can also write SPSS and Stata files (This is hard to test so if you run into any problems, please let me know).

Once installed you simply:

read_dta("path/to/file")

Instead of forcing other packages to read your data, you should convert your data to a common format such as CSV or Excel sheet XLS or XLSX . Stata allows you to create a decent text data set that is highly portable in almost any version of any statistics software.

To do so, go to file -> Export or just use export delimited or export excel respectively. for more details type help export in your Stata command line.

You can also downgrade your data to Stata 12, or even Stata 11 by using the saveold command:

saveold "name.dta", version(11)

This command will create the oldest dataset that can be created in Stata 14. This probably would solve your problem, but still, I recommend using the CSV format. It's just how it works when transferring data between different software.

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

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM