3
У меня есть следующая таблицаПодсчет строк в data.table, которые удовлетворяют условию
DT = data.table(x=rep(c("a","b","c"),each=3), y=c(1,3,6), v=rep(4:6, 3))
Я хочу, чтобы подсчитать, сколько строк отвечают условию (y==3 & v==5
).
Я могу получить строки, соответствующие условиям, поэтому я мог бы их сохранить, а затем сосчитать строки. Тем не менее, я знаю, что это можно сделать более эффективно с .N
, я просто не знаю, как это сделать. Мой код:
require(data.table)
keycols = c("y","v")
setkeyv(DT,keycols)
DT[J(3,5)] # This gets the subset I am interested in
DT[ , `:=` (count = .N), by = J(3,5)] # This is one of the multiple unsuccessful ways I have been trying to count the rows.
У любого есть идея, как сделать последнюю работу линии?
Новый [Введение в data.table] (https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-intro-vignette.html) и [Ссылочная семантика] (https://rawgit.com/wiki/Rdatatable/data.table/vignettes/datatable-reference-semantics.html) у виньетров есть больше примеров. Проверьте обновления этой страницы (https://github.com/Rdatatable/data.table/issues/944). – Arun