【发布时间】:2021-01-15 12:11:50
【问题描述】:
我想在一个整洁的 data.table 中计算每个组有多少个 TRUE 标记:
DT <- data.table( id = c(1 ,1 ,1 ,2 ,2 ,2 ,2 ,2 )
, marker = c(TRUE,FALSE,FALSE,TRUE,FALSE,TRUE,TRUE,FALSE))
所以我尝试了DT[marker==TRUE, num_markers := .N, by = id],输出:
id marker num_markers
1: 1 TRUE 1
2: 1 FALSE NA
3: 1 FALSE NA
4: 2 TRUE 3
5: 2 FALSE NA
6: 2 TRUE 3
7: 2 TRUE 3
8: 2 FALSE NA
相反,所需的输出是:
id marker num_markers
1: 1 TRUE 1
2: 1 FALSE 1
3: 1 FALSE 1
4: 2 TRUE 3
5: 2 FALSE 3
6: 2 TRUE 3
7: 2 TRUE 3
8: 2 FALSE 3
如何调整代码以获得所需的输出(删除每个 id 的 NA 并完成标记的组数?)
【问题讨论】:
标签: r data.table