我想從我導入的超過20個數據框中刪除列。但是,當我嘗試遍歷所有這些文件時,出現錯誤。當我對單個文件名進行硬編碼時,我可以放棄,但只要我嘗試遍歷所有文件,就會出現錯誤。這裏是代碼:子集中的一個循環中的多個數據幀R
path <- "C://Home/Data/"
files <- list.files(path=path, pattern="^.file*\\.csv$")
for(i in 1:length(files))
{
perpos <- which(strsplit(files[i], "")[[1]]==".")
assign(
gsub(" ","",substr(files[i], 1, perpos-1)),
read.csv(paste(path,files[i],sep="")))
}
mycols <- c("test," "trialruns," "practice")
`file01` = `file01`[,!(names(`file01`) %in% mycols)]
所以,上面的工作將從file01中刪除這三列。但是,我無法通過files02遍歷文件20並從所有文件中刪除列。有任何想法嗎?非常感謝!
使用lapply,保持所有數據框在列表中。例如,參見[post](http://stackoverflow.com/questions/11433432/importing-multiple-csv-files-into-r)。 – zx8754
歡迎來到SO!我們要求您提供一個可重複的示例(您可以使用內置數據集或通過'dput()'共享您的代碼),而不是在R標籤中引用計算機上的文件。 –
我想用'setwd(path)'和'list.files(path =「。」,pattern =「^ .file。\\ csv $」,full.names = TRUE)''會讓你的生活更輕鬆 – Nate