在Loop到R中将对象的值分配给列

时间:2014-11-19 12:31:28

标签: r

这是我的R代码的片段。我正在尝试将resultsdata[i]的值分配给列Error 但是值不是分配的。结果将在控制台中出现但不知何故我无法为其分配所需的列

resultsData=foreach(i=1:length(xyzArr)) %dopar% {    
  xyzRed[xyzsRed$loopN==xyzArr[i],]$SETPOINT-xyzRed[xyzRed$loopN==xyzArr[i],]$TEMP
}
foreach(i=1:length(xyzArr)) %dopar%{
  xyzRed[xyzRed$loopN==dataPointsArr[i],]$Error=resultsData[[i]]
}

Results in console:
[[1]]
 [1] 1.186 1.186 1.186 1.186 1.186 1.186 1.186 1.186 1.186 1.186 1.186 1.186 1.186 2.266 2.266 2.266 2.266 2.266
[19] 2.266 2.266 2.266 2.266 1.384 2.392 2.392

1 个答案:

答案 0 :(得分:0)

我通常使用联合功能。一般方法是计算列,然后输出整行。最后,行绑定逻辑将它们放在一起。

xyzArr$var_name_here <- numeric(nrow(xyzArr))
resultsData <- foreach(i=1:length(xyzArr), .combine=rbind) %dopar% {    
xyzArr[i,]$var_name_here <- xyzRed[xyzsRed$loopN==xyzArr[i],]$SETPOINT-xyzRed[xyzRed$loopN==xyzArr[i],]$TEMP
xyzArr[i,]
}