【发布时间】:2014-12-10 08:51:29
【问题描述】:
我正在尝试在 R 中获取复杂对象(文件连接)的列表。 有一个带有文件名的字符向量。我想用 file() 打开每个文件并将其连接对象存储在某个地方(以便以后能够关闭它们)。文件名向量的长度是可变的。我想做的是:
files <- c("file1", "file2", "file3") #just for example
f <- list()
for (i in 1:length(files))
{
f<- append(f, file(files[i], open="wt"))
}
不幸的是 f 变成了一个整数列表,我不能对其元素运行 close()
我需要它来保留连接对象的列表:
list(file("fname1"),file("fname2"),file("fname3"))
如果您在循环下将 append() 替换为 list(),它不会将连接转换为整数,但这将是列表等列表的列表。
【问题讨论】:
-
files_connections <- lapply(files, function(f) file(f, open="wt"))或files_connections <- lapply(files, file, "wt")或files_connections <- lapply(files, file, open="wt") -
你也可以这样做(未测试)
f[[i] <- file(files[i], open = "wt")。 -
@DrDom,请考虑添加您的评论作为答案!
标签: r