我在R中做了一个文献计量学的分析,使用的是书目软件包。要开始使用readFiles命令所需的一切,它可以很好地列出我需要的每个文件。就像这样:
readFiles("file (1).txt", "file (2).txt", "file (3).txt")
由于我们正在为每一项分析讨论数十个文件,因此我试图改进未来研究的代码,做如下工作:
FileName <- "UniversityA"
NumberofFiles <- 80
Files <- paste0(FileName, " (", seq(1:NumberofFiles),").txt", collapse='","')
readFiles(Files)
这个想法是," files“会存储一个列表,比如"UniversityA (1).txt”、"UniversityA (2).txt“等等。这样,我只能在分析中更改大学的名称,并提供导入数据的文件总数。问题是,当我试图读取创建的列表时,我会得到一个错误:
Error in file(con, "r") : could not open connection.
我知道问题在于不同元素的组合方式,因为如果我使用单个文件,它可以很好地工作。我在折叠选项上尝试了许多组合,但是都有相同的问题,比如:
collapse = '","'
collapse = "\",\""
有人能想出解决办法吗?
谢谢,
安德雷
发布于 2017-09-27 15:57:51
为了将向量扩展为基R函数中的不同参数,需要使用do.call()
。例如
FileName <- "UniversityA"
NumberofFiles <- 80
Files <- paste0(FileName, " (", seq(1:NumberofFiles), ").txt")
do.call("readFiles", as.list(Files))
请注意,Files
在这里是一个正确的80元素向量,并且没有被折叠.
https://stackoverflow.com/questions/46452196
复制相似问题