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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R中的数据帧列表:赋值问题相关的知识,希望对你有一定的参考价值。

我有以下代码:

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

     }
   }

以上是关于R中的数据帧列表:赋值问题的主要内容,如果未能解决你的问题,请参考以下文章

在列表中的多个数据帧上应用 lapply,R

将数据帧列表转换为R中的单个数据帧[重复]

使用列表/数据帧作为R中for循环中的项

使用 R 中的 lapply() 对列表中的所有帧执行数据帧计算 [重复]

将存储在列表中的数据帧保存到 R 中的单个文件中

如何从 R 中的数据帧创建具有多个参数的函数列表?