我想要计算每个分组中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并用标记的组号补全?)