【问题标题】:list of dataframes in R: assignment problemR中的数据框列表:分配问题
【发布时间】:2019-04-22 00:32:30
【问题描述】:

我有以下代码:

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

只是没有绕过它。有cmets吗?

【问题讨论】:

    标签: r list


    【解决方案1】:

    初始化列表的大小:

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

    【讨论】:

      猜你喜欢
      • 2020-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-18
      • 2021-10-29
      • 1970-01-01
      • 1970-01-01
      • 2014-01-24
      相关资源
      最近更新 更多