3
我想使用的foreach改造下面的嵌套的for循环如何获得foreach的矩阵列表?
first <- c(1, 2, 3)
second <- c(1, 2, 3)
dummy = matrix(double(), len(first), len(second))
c <- list()
c$sum <- dummy
c$times <- dummy
for (i in 1:len(first)) {
for (j in 1:len(second)) {
c$sum[i, j] <- first[i] + second[j]
c$times[i, j] <- first[i] * second[j]
}
}
c
成代码,并得到矩阵作为结果的相同的列表。我尝试了许多不同的事情,但最近的“结果”是这样的:
x <- foreach(b = second, .combine = "cbind") %:% foreach(a = first, .combine = "c") %do% {
c <- list()
c$sum <- a+b
c$times <- a*b
out <- c
}
x
如何得到正确使用的foreach矩阵的这个名单?
编辑:一种可能是使用的结果,并呼吁后的foreach改造它:
res <- list()
res$sum <- x[rownames(x)=="sum", ]
rownames(res$sum) <- NULL
colnames(res$sum) <- NULL
res$times <- x[rownames(x)=="times", ]
rownames(res$times) <- NULL
colnames(res$times) <- NULL
res
如何“参数多态”的foreach所以没有必要改变结果吗?
谢谢。这帮了很多。 – Samo 2012-04-01 16:31:10