我想弄清楚如何将data.frame或data.table添加到列表中的第一个位置。追加数据框到列表
理想情况下,我想结构如下列表:
List of 4
$ :'data.frame': 1 obs. of 3 variables:
..$ a: num 2
..$ b: num 1
..$ c: num 3
$ d: num 4
$ e: num 5
$ f: num 6
注意data.frame是列表的结构内的对象。
问题是,我需要在列表创建后将数据框添加到列表中,并且数据框必须是列表中的第一个元素。我想做到这一点使用一些简单的像append
,但是当我尝试:
append(list(1,2,3),data.frame(a=2,b=1,c=3),after=0)
我得到结构的列表:
str(append(list(1,2,3),data.frame(a=2,b=1,c=3),after=0))
List of 6
$ a: num 2
$ b: num 1
$ c: num 3
$ : num 1
$ : num 2
$ : num 3
看来,R为强迫data.frame成一个列表当我试图append
。我如何阻止它这样做?或者可能有什么替代方法来构建这个列表,在列表初始创建后,将data.frame插入位置1的列表中。
理查德,这不是我想要做的。我正在尝试将一个对象添加到已经定义的列表中。是的,我可以重新定义整个列表,但我希望不需要那样做。我想要做的是尽可能少地插入一个对象到列表中。这份清单相当长,我宁愿不以这种方式重组整个清单。我确实看到你使用append作为向量设计的观点,但它似乎应该有一个对应的函数列表,不是吗? – Tom
就是这样!您能否将您的评论移至答案中,以便将其标记为已选中? – Tom
更好的标题可能是“预先列出”或其他内容。这似乎与data.table没有特别的关系,也没有真正的追加。 – Frank