如何在R中逐个更改列表中的元素?

时间:2016-07-12 15:17:23

标签: r list for-loop elements

我希望我的代码逐个接受列表中的数据帧,所以我想逐个对它们进行更改(添加变量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'`

0 个答案:

没有答案