我有以下代码:
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”循环的范围也是如此。
只是没有绕过它。任何意见?
初始化列表的大小:
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]]),]
}
}