我希望我的代码逐个接受列表中的数据帧,所以我想逐个对它们进行更改(添加变量sect),然后保存数据帧,然后继续下一个数据帧列表。我尝试以下面的方式做到这一点,但我认为它不起作用!
setwd("C:\\Users\\datasets")
files = list.files(pattern="*.dta")
dflist <- list()
for (i in 1:length(files)){
dflist[[i]] <- read.dta13(files[i], nonint.factors = TRUE)
names(dflist) <- gsub("\\.dta$", "", list)
#This creates "sect" variable if it doesn't exist already.
if(!("sect" %in% colnames(dflist[[i]]))){
dflist[[i]]$sect <- "total"}
#Saving dataset
save.dta13(dflist[[i]], paste0(i, ".dta"))
}
编辑:它出现此错误:
Error in as.character(x) :
cannot coerce type 'builtin' to vector of type 'character'`