R将多个数据表追加到列表中

Dar*_*ici 3 r list append data.table

我需要将 data.tables 附加到一个空列表,通过调用索引我可以获得整个数据表。我现在得到的是附加数据表的列的列表,以便在特定索引处而不是获取数据表,而是从这些表之一获取列。

empty_list <- list()
dt<-data.table(c(1,2,3,4,5,6), c(4,5,6,7,8,9))
empty_list <- append(empty_list, dt)
empty_list[1]
Run Code Online (Sandbox Code Playgroud)

the*_*ail 7

您想要附加到empty_list另一个list(...)对象。所以:

empty_list <- list()
dt<-data.table(c(1,2,3,4,5,6), c(4,5,6,7,8,9))
empty_list <- append(empty_list, list(dt))
empty_list[1]
#[[1]]
#   V1 V2
#1:  1  4
#2:  2  5
#3:  3  6
#4:  4  7
#5:  5  8
#6:  6  9
Run Code Online (Sandbox Code Playgroud)

作为一个简单的代表性示例,请考虑data.table/data.frame实际上只是一个花哨的list

is.list(data.table(3,4))
#[1] TRUE

str(append(list(1,2), list(3,4)))
#List of 4
# $ : num 1
# $ : num 2
# $ : num 3
# $ : num 4

str(append(list(1,2), list(list(3,4))))
#List of 3
# $ : num 1
# $ : num 2
# $ :List of 2
#  ..$ : num 3
#  ..$ : num 4
Run Code Online (Sandbox Code Playgroud)