список фреймов данных в R: проблема присваивания - PullRequest
0 голосов
/ 22 апреля 2019

У меня есть следующий код:

child_tracks <- list()
   for(i in 1:106)
   {
     for(j in 1:5)
     {
     child_tracks[[i]][[j]] <- 
all_samples[[i]][sample(nrow(all_samples[[i]]),length_breakups[[i]][[j]]),]

     }
   }

Как и выше, «all_samples» - это список информационных фреймов, а «length_breakups» - список списков.

Когда я назначаюПри подсчете к нему, он выдает ошибку: индекс за пределами.Хотя единственная переменная может содержать, список не может.Например:

temp <- 
all_samples[[i]][sample(nrow(all_samples[[i]]),length_breakups[[i]][[j]]),]

child_tracks[[i]][[j]] <- 
all_samples[[i]][sample(nrow(all_samples[[i]]),length_breakups[[i]][[j]]),]

Первое работает, второе - нет.Я видел, что с определениями класса все в порядке, так же как и с диапазоном цикла for.

Просто не обойтись.Есть комментарии?

1 Ответ

0 голосов
/ 22 апреля 2019

Инициализировать размер списка:

child_tracks <- array(list(), c(106,5))
   for(i in 1:106)
   {
     for(j in 1:5)
     {
     child_tracks[[i]][[j]] <- 
all_samples[[i]][sample(nrow(all_samples[[i]]),length_breakups[[i]][[j]]),]

     }
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...