【发布时间】:2014-01-21 18:00:56
【问题描述】:
我有一个大的data.table,我正在使用,by 将其折叠到月级别。
有 5 个按变量,级别数为:c(4,3,106,3,1380)。 106 是月份,1380 是地理单位。事实证明有一些 0,因为一些单元格没有值。 by 丢弃这些,但我希望它保留它们。
可重现的例子:
require(data.table)
set.seed(1)
n <- 1000
s <- function(n,l=5) sample(letters[seq(l)],n,replace=TRUE)
dat <- data.table( x=runif(n), g1=s(n), g2=s(n), g3=s(n,25) )
datCollapsed <- dat[ , list(nv=.N), by=list(g1,g2,g3) ]
datCollapsed[ , prod(dim(table(g1,g2,g3))) ] # how many there should be: 5*5*25=625
nrow(datCollapsed) # how many there are
是否有一种有效的方法可以用 0 填充这些缺失值,以便 by var 的所有排列都在生成的折叠 data.table 中?
【问题讨论】:
标签: r data.table collapse