【发布时间】:2018-01-10 03:02:25
【问题描述】:
我在for loop 中使用assing 批量读取工作目录中的所有.csv 文件。然后我使用substr 来清理文件名。我想为每个带有文件名的文件添加一列,以便稍后在代码中进行更好的分析。但是,在清理文件名以添加列之后,我无法引用 for loop 中的文件。
#read in all files in folder
files <- list.files(pattern = "*.csv")
for (i in 1:length(files)){
assign(substr(files[i], start = 11, stop = nchar(files[i])-4), #clean file names
read.csv(files[i], stringsAsFactors = FALSE))
substr(files[i], start = 11, stop = nchar(files[i])-4)['FileFrom'] <- files[i]
}
【问题讨论】:
-
为什么不将 substr 结果分配给变量,例如 file_name 和循环中某处的 n
file[[i]][['source_file]] <- file_name? -
@GuilhermeMarthe 你可能正在做某事,但我认为你可能正在做某事,但它倒退了。我创建了一个带有“substr”的文件,然后想在源文件中插入一列。
标签: r csv for-loop assign substr