使用for循环为文件目录中的每个文件创建列表对象

时间:2019-08-21 15:07:59

标签: r list for-loop

我有一个创建的文件列表:

d <- list.files(path = "C:/data/", pattern = ".TextGrid") 

我想在每个这些文件上运行textgRid包的TextGrid()命令。这将为每个文件创建一个列表对象。这些我想另存为列表对象,并以文件名作为对象名。

我尝试过:

for (file in d) {file <- TextGrid(paste0("C:/data", file))}

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

以您的代码作为开始:

for (file in d) {
    tmp <- TextGrid(paste0("C:/data/", file))
    assign(file, tmp)
}

答案 1 :(得分:0)

这是我的使用lapply而不是循环的解决方案,我从未使用过textgRid包,因此希望它能起作用。

d <- lapply(list.files(pattern = "\\.TextGrid$"),TextGrid)
names(d)<-paste0("C:/data",list.files(pattern = "\\.TextGrid$")