我刚开始使用 R,我是一个自学成才的人,我的循环有问题。我一直在寻找答案,但无处可寻。
我有很多不同名称的文件,而且我在一个文件中有很多数据。我为一个文件做了一个循环,效果很好——就像这样(但它有更多的计算):
12bielawica9.txt 看起来像
NA NA NA 0.002 0.002 NA NA NA NA NA NA NA NA NA NA NA NA NA NA
NA NA NA 0.008 0.006 NA NA NA NA NA NA NA NA NA NA NA NA NA NA
但它更大
它包含研究结果,这就是为什么有很多NA。有时它看起来像 reasearches 不同......(有更少的 NA)我也在 R 中写过
dane = dane = read.table("12bielawica9.txt", header=T)
for (i in dane) {
x = sd(i, na.rm=T)
y = length (na.omit(i))
if (y == 0) {
cat(file="12bielawica9.txt", append=T, (paste("-","\t")))
} else if (x == "0") {
cat(file="12bielawica9.txt", append=T, paste(format(mean(i, na.rm=T) - mean(i, na.rm=T), digits=5), "\t"))
} else {
cat(file="12bielawica9.txt", append=T, paste(format(t.test(na.omit(i), conf.level=0.90)$conf.int - mean(i, na.rm=T), digits=5), "\t"))
}
}
首先,我想为所有文件创建一个循环,但是当我创建一个循环时:
myfiles <- list.files(pattern=".*txt")
for (j in 1:length(myfiles)) {
for (i in myfiles[j]) {
#LOOP FROM ABOVE
}
}
现在,list.files 返回每个文件(如 12bielawica.txt),我需要对其进行计算。清楚吗?
R 为每个文件只返回一个结果(如合取)。因此,我想为每个文件实现一个矩阵(比如我的第一个循环)。我也不知道如何自动编写一个新文件......
我希望你明白我的意思。请不要对我严格。