R中的数据帧列表:赋值问题

问题描述 投票:0回答:1

我有以下代码:

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”循环的范围也是如此。

只是没有绕过它。任何意见?

r list
1个回答
0
投票

初始化列表的大小:

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]]),]

     }
   }
© www.soinside.com 2019 - 2024. All rights reserved.