R 仅输入列表中显示的文件名

R 仅输入列表中显示的文件名,r,R,我试图从数据框中提取站点列表,然后从文件夹中加载与这些站点名称匹配的.csv文件 我找到了多种方法来加载给定目录中的所有文件,但没有找到任何合适的方法来回答我的问题。正如我在其他示例中看到的那样,没有共同的特性可以用来子集文件名。有超过150个站点,所以我不想每次都加载所有的.csv文件 是否有办法在文件夹中选择与列表中的名称匹配的文件子集,并仅加载这些文件?加载这些文件后,我需要对每个文件执行相同的分析,因此我正在寻找加载这些文件的方法,以使进一步的分析尽可能有效 任何帮助都将不胜感激

我试图从数据框中提取站点列表,然后从文件夹中加载与这些站点名称匹配的.csv文件

我找到了多种方法来加载给定目录中的所有文件,但没有找到任何合适的方法来回答我的问题。正如我在其他示例中看到的那样,没有共同的特性可以用来子集文件名。有超过150个站点,所以我不想每次都加载所有的.csv文件

是否有办法在文件夹中选择与列表中的名称匹配的文件子集,并仅加载这些文件?加载这些文件后,我需要对每个文件执行相同的分析,因此我正在寻找加载这些文件的方法,以使进一步的分析尽可能有效

任何帮助都将不胜感激

    trials<-read.csv("trial_associations.csv")
    trials
    site.name    red    blue    green    yellow
    upper.hill   yes     no      yes       no
    lower.hill   yes     yes     no        yes
    upper.lake   no      no      yes       yes
    lower.lake   no      yes     yes       no

    site<-trials[trials$red=="yes",]
    sitelist<-data.frame(site[,1])
sitenames文件夹中的示例文件-每个文件有四列标题和~5800行

    a     b     c     d
    yes   no    no    yes
    no    yes   no    no
    yes   yes   yes   yes
    no    no    yes   no
sitenames文件夹中的文件名

    upper.hill.csv
    lower.hill.csv
    lower.lake.csv
    upper.lake.csv
    etc
然后我需要使用sitelist中的名称从工作目录中的sitenames文件夹加载.csv文件

我用过

    list.files(dir)
获取目录中的文件列表。但我不确定如何使用sitelist中的名称访问sitenames文件夹中的某些文件


我希望这能让事情变得更清楚一点,多亏了

您可能用于获取所有文件的代码与获取某些文件的代码非常相似。通常,要获取控制器中的所有文件,可以使用
list.files('myDir')
,或类似的方法。只需运行这部分代码,看看结果是什么。您将看到,它只是一个字符向量,包含所有文件的所有名称

一旦你明白这很容易。您可以通过另一种方式获取角色向量,也可以将该角色向量子集。例如,如果所需文件列表位于名为“文件列表”的文件中,则可以使用
scan
获取名称

fList <- scan('file list')

fList请发布一个合适的数据帧示例。从表面上看,你所要做的似乎只是对数据框的内容运行模式匹配(grep),并为每次点击调用
read.csv
,但没有看到你的数据(和可复制的代码),很难确定。你实际上在问题中说你知道如何获取所有文件。把密码贴出来。然后,我们可以告诉您如何获得一些。对于以后保存子集设置,
pattern
参数对于
list.files
也很有用。@John感谢您的评论,我已经尝试实现了您的建议,但是,如果我将从原始数据框中提取的站点名称列表放入,例如[fList]
fList <- scan('file list')
dList <- lapply(fList, read.table)
fList <- list.files(`myDir')  #or leave out 'myDir' for working directory - this gets all files names
subfList <- sample(fList, 4)  #just get a random 4 files