2014-10-24 1 views
0

Привет Я застрял с одним из этих простых, но трудоемких ошибки:R заполнить многомерный массив

Как я могу заполнить массив с петлями? Я знаю, что на подходе 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 

ответ

2

Прежде всего, вы бы не использовать циклы, чтобы сделать это в R. вы бы просто сделать

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

Но возвращаясь к коду, вы не правильно инициализировать array222. Синтаксис matrix(), вероятно, проще для 2-D массива, но вы также можете использовать array(0, dim=c(One,Two)). Вам нужно создать его с соответствующими размерами.

И кроме того, надлежащим образом индексировать одномерный массив является

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

 Смежные вопросы

  • Нет связанных вопросов^_^