【发布时间】:2020-05-24 18:34:38
【问题描述】:
我正在使用 data.table 存储一大堆对象,我想访问其中一个对象,但它总是返回包装在列表中的结果。
library(data.table)
a1 = hist(1:10)
a2 = hist(2:11)
a3 = hist(3:12)
a4 = hist(4:13)
a5 = hist(5:14)
a6 = hist(6:15)
a = list(a1,a2,a3,a4,a5,a6)
i = c(1,1,1,2,2,2)
j = c(1,2,3,1,2,3)
dt = data.table(i = i, j = j, a = a)
class(dt[i == 1 & j == 1, a]) # hist inside a list of length 1
我希望上一行返回对象本身(只是直方图),如下所示:
class(a1) # just the hist
显然我可以做到:
dt[i == 1 & j == 1, a][[1]]
但每次都这样做似乎很不雅。有什么方法可以使用 data.table 中的语法来实现这一点?注意:还有另一个问题的名称非常相似,但它问的问题更复杂。
【问题讨论】:
标签: r arrays list data.table