gpt4 book ai didi

r - 将 R 循环的输出写入文件

转载 作者:行者123 更新时间:2023-12-04 10:57:08 25 4
gpt4 key购买 nike

目前,我的 R 循环(见下文)在每次迭代期间都会覆盖自身。我想将每个循环的结果输出到一个文本文件中。

更详细地:
R初学者在这里想知道如何在我的脚本中包含一行,以便将每个文件的平均值计算写入文本文件。以便脚本创建一个新的空文本文件,然后每次脚本计算文件中第 4 列的平均值时,该值将输出到文本文件中的一行,其中包含第 1 列中的文件名和第 1 列中的平均值第 2 栏。
谢谢你的帮助!

filename <- system("ls /dir/",intern=TRUE)

for(i in 1:length(filename)){

file <- read.table(filename[i],header=FALSE) ## if you have headers in your files ##
mean <- mean(as.numeric(file$V4))



}

最佳答案

要在循环运行时执行此操作,请在循环中添加:

write.csv(data.frame(fname=filename[i],mean=mean),file="output.csv",append=TRUE)

但是,这将意味着大量的文件系统开销,并且在 R 中生成整个数据帧然后将文件作为一个整体写入会更快。所以而不是你的循环写:
means <- sapply(filename, function(x) mean(as.numeric(read.table(x,header=FALSE)$V4)))

然后将文件作为一个整体写入:
write.csv(data.frame(fname=filename,mean=means),file="output.csv")

关于r - 将 R 循环的输出写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11292880/

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