R填充多维数组

时间:2014-10-24 02:02:25

标签: arrays r multidimensional-array rstudio

您好我遇到了其中一个简单但耗时的错误:

如何用循环填充数组?我知道我在这里采用C方法 并且R不是C.

  Data <-[SOMETHING HERE]
  One <-200
  Two <-100
  array222 <- array(0,length(SomeLength))


  for (i in 1:One)
  {
    for (j in 1:Two)
    {
      array222[i][j] = sample(Data,1)   
    }

我想用来自另一个数据集的随机样本填充数组,但是全部 我明白了:

Warning in array222[i][j] = sample(Data, 1) :
  number of items to replace is not a multiple of replacement length

1 个答案:

答案 0 :(得分:2)

首先,您不会在R中使用循环来执行此操作。您只需执行

array222 <- matrix(sample(Data, One*Two, replace=T), nrow=One, ncol=Two)

但是回到您的代码,您无法正确初始化array222变量。对于二维数组,matrix()语法可能更容易,但您也可以使用array(0, dim=c(One,Two))。您需要使用适当的尺寸创建它。

另外,索引维数组的正确方法是

array222[i,j]  #NOT array222[i][j]