在d:\文件夹中,我有很多Stata文件,例如data_aa_1.dta,data_aa_2.dta,data_aa_3.dta data_bb_1.dta,data_bb_2.dta,data_bb_3.dta,data_cc_1.dta ....我想转换这些文件并获取与 R 中的 dta 文件一样多的数据帧。因此,我相信我必须循环 c("aa", "bb", "cc") 和 c(1:3)。我尝试了类似以下的操作:
library(foreign)
for(i in c("aa","bb","cc"){
for (j in 1:3){
data_[i]_[j] <-read.dta("d:/folder/data_[i]_[j].dta")
}
}
但是,这看起来绝对是错误的。
任何帮助将不胜感激。
Thanks!
尝试这个,
fl = list.files(pattern = "dta", path = "d:/folder",
full.names = TRUE)
dl = lapply(fl, foreign::read.dta)
names(dl) = tools::file_path_sans_ext(fl)
str(dl)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)