我正在尝试在R中做不到的事情,但是我很大程度上是R自学成才的,所以很有可能我犯了一个明显的错误。
我正在尝试使用list.files函数仅列出也在参考数据框中列出的文件夹中的文件。
我的数据框如下:
z-index
我想要的文件列表是Spectrum.file列下的质谱图文件,我列出的文件夹包含实际文件,然后包含其他处理方法。我对每种处理方法都有单独的数据框,并且光谱文件按日期划分。
> G2_1A27
Treatment Date Chamber_ID GasmetID Spectrum.file
24 1A27 8/28/2018 11:51 <NA> G2 Spectrum_000024.spe
25 1A27 8/28/2018 11:53 <NA> G2 Spectrum_000025.spe
26 1A27 8/28/2018 11:55 <NA> G2 Spectrum_000026.spe
27 1A27 8/28/2018 11:57 <NA> G2 Spectrum_000027.spe
28 1A27 8/28/2018 11:59 <NA> G2 Spectrum_000028.spe
29 1A27 8/28/2018 12:01 <NA> G2 Spectrum_000029.spe
30 1A27 8/28/2018 12:03 <NA> G2 Spectrum_000030.spe
31 1A27 8/28/2018 12:05 <NA> G2 Spectrum_000031.spe
我没想到它会起作用,但是当它运行时,它确实引用了数据帧,但仅输出第一个文件,而不是列出与数据帧中的文件匹配的文件夹中的所有文件。
答案 0 :(得分:0)
取决于您打算对匹配的文件列表执行的操作,如下所示:
# get full names including folder path
list.of.files = list.files(current.folder, full.names = TRUE)
# then keep only the basename (file names) matching dataframe column
clean.list.of.files <- list.of.files[ basename(list.of.files) %in% G2_1A27$Spectrum.file ]
# then read the data
myData <- lapply(clean.list.of.files, read.table)
编辑:,如果我们要复制:
file.copy(clean.list.of.files, new.folder)