如何在R中列出几种计算的结果

时间:2018-09-21 12:36:56

标签: r

我已经加载了两个源文件,执行了一些迭代计算,然后需要显示/导出结果。有数百个迭代计算,因此有数百个结果。但是,仅显示最终计算的结果。

在此示例中,我将计算列表缩短为仅3个。请参阅第7行(1:3中的k)。如何获取R以显示所有计算的结果?

在此先感谢可以提供帮助的人员。如果以前已经问过这个问题,那么链接会很棒。我找不到这可能是因为我不知道要搜索的正确术语。

# Load files
d1<-read.csv('testhourly.csv',sep=",",header=F)
names(d1)<-c("elapsedtime","units")
d2<-read.csv('testevent.csv',sep=",",header=F)
names(d2)<-c("eventno","starttime","endtime","starttemp","endtemp")

# Perform for calculations 1 to 3
for(k in 1:3){
a<-d2[k,2]
b<-d2[k,3]
x<-d1[a:b,]$q
a2<-d2[k,2]-1
b2<-d2[k,3]-1
y<-d1[a2:b2,]$q

z <- (x-y)}
results <- sum(z)

# Export results
write.csv(results, file = "results.csv")

1 个答案:

答案 0 :(得分:0)

您不会在每次迭代中都将输出保存在循环中,因此循环只会返回上一次迭代的最终值。

temp=vector("list",3)

for(k in 1:3) {
        a<-d2[k,2]
        b<-d2[k,3]
        x<-d1[a:b,]$q
        a2<-d2[k,2]-1
        b2<-d2[k,3]-1
        y<-d1[a2:b2,]$q

        temp[[k]] <- (x-y)
    }

results <- sum(unlist(temp))