gpt4 book ai didi

读取目录中的所有文件并对每个数据框应用多个函数

转载 作者:行者123 更新时间:2023-12-03 07:55:45 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Which is the best method to apply a script repetitively to n .csv files in R?

(2 个回答)


8年前关闭。




我需要将 R 中的一组命令应用于所有个人 .txt目录中的文件(大约 300 个)。

我对 R 不是很熟悉,所以我在网上看到的关于循环的所有帮助都令人困惑,或者当您需要对每个文件应用多个命令时,我无法弄清楚如何应用循环。

我需要应用于目录中每个文件(系统发育树)的命令是(使用 R 的 ape 库):

testtree <- read.tree("tree123.txt")
unrooted_tr <- unroot(testtree)
write.tree(unrooted_tr, file="unrootedtree123.txt")

如何应用将这些命令应用于每个单独的 .txt 文件的循环(使用 R 或在 Unix 命令行中)?输出(例如 unrootedtree123.txt)需要为每个单独的文件使用不同的名称。

提前致谢,
达尼。

最佳答案

您可以获取所有文件,然后使用 lapply 循环并应用您想要应用的任何功能,如下所示:

files <- list.files(path="path/to/dir", pattern="*.txt", full.names=TRUE, recursive=FALSE)
lapply(files, function(x) {
t <- read.table(x, header=TRUE) # load file
# apply function
out <- function(t)
# write to file
write.table(out, "path/to/output", sep="\t", quote=FALSE, row.names=FALSE, col.names=TRUE)
})

关于读取目录中的所有文件并对每个数据框应用多个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14958516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com