r

时间:2018-02-07 16:39:00

标签: r foreach int seq

请考虑以下代码:

space<- 2
years<- 4

year<- foreach(1:years, .combine = rbind)%:%
  foreach(1:space, .combine = rbind)%do% seq(1:years)

year

         [,1] [,2] [,3] [,4]
result.1    1    2    3    4
result.2    1    2    3    4
result.1    1    2    3    4
result.2    1    2    3    4
result.1    1    2    3    4
result.2    1    2    3    4
result.1    1    2    3    4
result.2    1    2    3    4

为什么将输出作为int[1:8, 1:4]返回?我要找的输出应该是int[1:8, 1],看起来像这样:

         [,1] 
result.1    1 
result.2    1 
result.1    2 
result.2    2 
result.1    3 
result.2    3 
result.1    4 
result.2    4 

我希望它以这种格式返回内容的原因是我正在执行许多其他嵌套foreach循环,这些循环依赖于spaceyear以及{{1}的迭代器需要记录为space

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您为两个(未命名)序列的每个组合(4x2 = 8)返回year <- foreach(year = 1:years, .combine = rbind) %:% foreach(1:space, .combine = rbind) %do% year

要获得所需的结果,您需要

{{1}}