在data.table中对数据进行子集操作时保留元数据

4

我在R中使用data.table来处理包含元数据的数据。这些元数据存储在“comment”属性中,用于提供数据的时间戳。但是,在对数据进行子集操作时,元数据会被删除。例如:

library(data.table)
dt <- data.table(x = c(1:5), y = c(6:10))
setattr(dt, 'comment', 'december 10, 2015')
comment(dt)                  # The metadata is present here...
# [1] "december 10, 2015"
comment(dt[x < 3])           # ...but not retained here
# NULL

data.frame 与之相反,不会表现出同样的行为。例如,

df <- data.frame(x = c(1:5), y = c(6:10))
comment(df) <- "december 2015"
comment(df)              # Metadata again is present
# [1] "december 2015"
comment(df[df$x < 3, ])  # Metadata is retained
# [1] "december 2015"

请问是否有办法让data.table在这些子集中保留元数据?


2
OP,请在 GitHub 上提交一个问题。 - eddi
关于那个问题,我有一些疑问。 - jangorecki
现在这个可以工作了:https://github.com/Rdatatable/data.table/issues/995 - Waldi
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接