我在文件夹中有1000个文件.dta:
C:/Folder/data1.dta
C:/Folder/data2.dta
C:/Folder/data" ".dta
C:/Folder/data1000.dta
我需要应用程序来估算我的1000个数据,并将这些估算数据保存在新文件夹中。
C:/Folder2/data_new1.dta
C:/Folder2/data_new2.dta
C:/Folder2/data_new" ".dta
C:/Folder2/data_new1000.dta
我用LEA包构建了一个复杂的程序,以实现非负矩阵分解的完成。这是这样的工作:
data1 <- read.dta("C:/Folder/data1.dta")
***********My program******
write.dta (data1, "C:/Folder/data_new1.dta")
我搜索一个方法来为我的1000个数据集循环这个。有了Stata,我可以这样做:
forvalues i=1/1000 {
data`i' <- read.dta("C:/Folder/data`i'.dta")
***********My program******
write.dta (data`i', "C:/Folder/data_new`i'.dta")
答案 0 :(得分:1)
使用清单:
f <- dir(pattern = "dta")
dat <- lapply(f, read.dta)
# do stuff to every data.frame
for (i in seq_along(dat)) {
write.dta(dat[[i]], paste0("data_new", i, ".dta"))
}