R将多个数据表附加到列表

时间:2018-11-06 01:30:35

标签: r list data.table append

我需要将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]

1 个答案:

答案 0 :(得分:3)

您想将另一个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

作为一个简单的代表性示例,考虑一个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