r - 如何在 R 中列出多个计算的结果
问题描述
我已经加载了两个源文件,执行了一些迭代计算,然后我需要显示/导出结果。有数百次迭代计算,因此有数百个结果。但是,只显示最终计算的结果。
在这个例子中,我将计算列表缩短到只有 3 个。请参考第 7 行(k in 1:3)。如何让 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")
解决方案
您不会在每次迭代的循环中保存输出,因此您的循环仅返回最后一次迭代的最终值。
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))
推荐阅读
- c - 什么时候写“0 - x”而不是“-x”有用?
- python - 格式化从 dropdwon 框中抓取的数据并将数据添加到 Python Beautifulsoup 中的结果中
- r - 是否有默认方法来记录 R 中用户点击的坐标?
- c# - 为什么我不能在程序外使用键绑定?
- arrays - 如何在飞镖中找到数组中对象的值总和?
- mysql - 在 React 和 node.js 上从 mysql 表中获取空 {}
- python - 将默认 PyGame 背景从黑色更改为白色
- node.js - 填充数据后的 mongoDB 文本搜索
- javascript - 浏览器:向使用自签名证书的 API 发出 HTTPS GET 请求。以编程方式,无需在用户端进行任何工作
- r - 在我的应用函数中使用 dplyr 的 slice_sample() 的正确方法是什么?