我想弄清楚如何將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