Я хочу суммировать каждую группу с условием. У меня есть следующие данныеСумма на группу с условием в data.table
a<-data.table (facto=c ("a","b","a","a","b","b","b"), value = c (2,3,2,3,2,2,2))
facto value
1: a 2
2: b 3
3: a 2
4: a 3
5: b 2
6: b 2
7: b 2
, и я хотел бы вычислить сумму фактического которой их значение не равно 3, используя data.table
.
Я использовал этот код
output <-a[, (value=sum(value!=3)), .(facto)]
, и это дает мне следующую информацию, которая подсчитывает строки, которые не равны 3 для каждой группы:
facto V1
1: a 2
2: b 3
Однако, я хотел бы иметь следующие данные:
facto V1
1: a 4
2: b 6
'DT [I, J, по] '. i j аналогичен SQL: WHERE SELECT GROUP BY. В словах: «Возьмите' data.table', подмножества строк, используя 'i', а затем вычислите' j', сгруппированные по 'by'" – snoram