今天领导在网上的免费数据库下载了一个数据包,打开一开dta后缀名,查询后发现是stata软件处理的文件。然而手上只有R,最近在学习这个,所以搜索了下。有两种方法可以打开。
方法一:使用haven数据包
install.packages("haven")
library(haven)
data <- read_dta("C:/Users/Desktop/xxx.dta")
方法二:使用readstata13数据包
install.packages("readstata13")
library(readstata13)
mydata <- read.dta13("C:/Users/xxx.dta")
最后在保存成csv文件格式时候出现的了乱码。
save(data,file="C:/Users/Desktop/3.csv")
搜到网上的解决方法是用 write.csv,这是搜索方法二是给出的保存方式,想必这个函数依赖方法二的readstata13这个包。而且出现乱码可能是因为windows默认的文字格式ASN码,而R语言默认的编码方式是UTF-8。
代码如下:
write.csv(mydata,"C:/Users/Desktop/2.csv", fileEncoding = "GB18030")
结果打开后很完美
个人强烈建议用第二种方法。