2016-07-13 21 views
0

所以我想根據文件的名稱對數據框進行更改。因此,如果在數據框的文件名中存在「已調整」,我想添加一個名爲「已調整」的變量。我想它看起來與我在下面做的類似,但顯然「文件名」不存在,但我無法弄清楚R中是否存在任何可以讓我這樣做的功能。如何根據R中文件的名稱對df進行更改?

files = list.files(pattern="*.dta") 
dflist <- list() 

for (i in 1:length(files)){ 
    dflist[[i]] <- read.dta13(files[i], nonint.factors = TRUE) 

    if("adjusted" %in% filenames(dflist[[i]])){    
    dflist[[i]]$adjusted <- "yes"} 
} 

回答

0

我覺得你真的很接近你的原始功能。只需將%in%替換爲grepl()函數並參考您的files列表。試試這個:

files = list.files(pattern="*.dta") 
dflist <- list() 

for (i in 1:length(files)) { 
    dflist[[i]] <- read.dta13(files[[i]], nonint.factors = TRUE) 

    if(grepl("adjusted", files[[i]]) == TRUE) { 
    dflist[[i]]$adjusted <- "yes" 
    } 
} 
相關問題