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