Я хочу сгруппировать таблицу данных по столбцу идентификаторов, а затем посчитать, сколько раз встречается каждый идентификатор. Это можно сделать следующим образом:
dt <- data.table(id = c(1, 1, 2))
dt_by_id <- dt[, .N, by = id]
dt_by_id
id N
1: 1 2
2: 2 1
Это довольно хорошо, но я хочу, чтобы столбец N имел другое имя (например, count
). В справке написано:
.N - целое число длины 1, содержащее количество строк в группе. Это может быть полезно, когда имена столбцов неизвестны в
заранее и для удобства вообще. При группировании по i .N является
количество строк в x соответствует каждой строке i, независимо от
является ли значение nomatch NA или 0. В результате оно переименовывается в N (без точки).
(в противном случае столбец с именем «.N» может конфликтовать с переменной .N,
смотрите FAQ 4.6 для более подробной информации и примера), если это явно
по имени; ....
Как "явно назвать" N-столбец при создании таблицы данных dt_by_id
? (Я знаю, как потом переименовать его.) Я попытался
dt_by_id <- dt[, count = .N, by = id]
но это привело к
Error in `[.data.table`(dt, , count = .N, by = id) :
unused argument (count = .N)