带有data.table的全因子表使用两个单独的文件

时间:2016-04-25 14:44:37

标签: r data.table

语言:R

包:data.table

当我使用data.table“by”对几列进行分组来计算时,假设每组中的观察数,如果组合的条目为零,则它不会显示在输出中。但是,即使它是空的,我仍然希望看到(为零)。有没有办法做到这一点?

# Example: 
DT = data.table(A = c(1,1,1,1,2,2,2), B = c(F,F,T,F,T,T,T))

   A     B
1: 1 FALSE
2: 1 FALSE
3: 1  TRUE
4: 1 FALSE
5: 2  TRUE
6: 2  TRUE
7: 2  TRUE

DT[, j = .(.N), by = .(A,B)]

   A     B N
1: 1 FALSE 3
2: 1  TRUE 1
3: 2  TRUE 3

如上所示,A中的因子2在B列中没有相应的F观察值。因此,当使用data.table分组时,此条目将不会显示。

编辑:

事实证明,之前有人提出并回答了类似的问题。

setkey(DT, A, B)
DT[CJ(A,B, unique = TRUE), j= .(.N), by= .EACHI]

   A     B N
1: 1 FALSE 3
2: 1  TRUE 1
3: 2 FALSE 0
4: 2  TRUE 3

0 个答案:

没有答案