Arrays R:如何将向量分配给列表列表(带有索引)

Arrays R:如何将向量分配给列表列表(带有索引),arrays,r,list,vector,variable-assignment,Arrays,R,List,Vector,Variable Assignment,我目前正在尝试创建一个列表列表,使用以下初始化过程 df = data.frame( memberA = rep(0, m), memberB = rep(0, m) ) 我想用以下方式做作业。(我之所以使用I,是因为我对多个I=1..m进行了删除) 但是,我得到以下错误: Error in `[<-.data.frame`(`*tmp*`, i, "memberA", value = c(-1.6950557554083, : replacement has

我目前正在尝试创建一个列表列表,使用以下初始化过程

df = data.frame(
    memberA = rep(0, m),
    memberB = rep(0, m)
  )
我想用以下方式做作业。(我之所以使用
I
,是因为我对多个
I=1..m
进行了删除)

但是,我得到以下错误:

Error in `[<-.data.frame`(`*tmp*`, i, "memberA", value = c(-1.6950557554083,  : 
  replacement has 6 rows, data has 1

然而,这似乎不是正确的方法。有没有关于如何实现我想要实现的目标的想法?我只想将向量(对于每个
I=1..m
)分配给相应的矩阵。

首先,您需要使用一个对象,它可以轻松地让您拥有列表中的列。一个好的选择是
tible
,它本机支持“列表列”

然后需要初始化列表列,而不是普通向量

m <- 42
df <-  data_frame(
  memberA = vector("list", m),
  memberB = vector("list", m)
)  

@朱利叶斯thx的迅速反应!编辑了这个问题:)我基本上想要实现的是给df[I,“memberA”]分配一个向量。我必须如何更改初始化,以便我可以解释向量分配(即这样做:
df[I,“memberA”]=assignVector
其中
assignVector
是一个向量)。作为一个补充,所有这些都适用于普通的
data.frame
df
df = data.frame(
    memberA = rep(0, m, n),
    memberB = rep(0, m, n)
  )
library(tibble) # usually I would use library(tidyverse) which loads more useful packages
m <- 42
df <-  data_frame(
  memberA = vector("list", m),
  memberB = vector("list", m)
)  
df$memberA[[1]] <- 1:3
df[[3, "memberB"]] <- 42:69