首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在R中创建文件名的顺序列表

如何在R中创建文件名的顺序列表
EN

Stack Overflow用户
提问于 2017-09-27 15:50:22
回答 1查看 2.4K关注 0票数 2

我在R中做了一个文献计量学的分析,使用的是书目软件包。要开始使用readFiles命令所需的一切,它可以很好地列出我需要的每个文件。就像这样:

代码语言:javascript
运行
复制
readFiles("file (1).txt", "file (2).txt", "file (3).txt")

由于我们正在为每一项分析讨论数十个文件,因此我试图改进未来研究的代码,做如下工作:

代码语言:javascript
运行
复制
FileName <- "UniversityA"
NumberofFiles <- 80
Files <- paste0(FileName, " (", seq(1:NumberofFiles),").txt", collapse='","')
readFiles(Files)

这个想法是," files“会存储一个列表,比如"UniversityA (1).txt”、"UniversityA (2).txt“等等。这样,我只能在分析中更改大学的名称,并提供导入数据的文件总数。问题是,当我试图读取创建的列表时,我会得到一个错误:

代码语言:javascript
运行
复制
Error in file(con, "r") : could not open connection. 

我知道问题在于不同元素的组合方式,因为如果我使用单个文件,它可以很好地工作。我在折叠选项上尝试了许多组合,但是都有相同的问题,比如:

代码语言:javascript
运行
复制
collapse = '","'
collapse = "\",\""

有人能想出解决办法吗?

谢谢,

安德雷

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-27 15:57:51

为了将向量扩展为基R函数中的不同参数,需要使用do.call()。例如

代码语言:javascript
运行
复制
FileName <- "UniversityA"
NumberofFiles <- 80
Files <- paste0(FileName, " (", seq(1:NumberofFiles), ").txt")
do.call("readFiles", as.list(Files))

请注意,Files在这里是一个正确的80元素向量,并且没有被折叠.

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46452196

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档