Как мне записать результаты запроса подсчета в столбец в R? - PullRequest
2 голосов
/ 09 апреля 2020

Я хотел бы сосчитать экземпляры идентификатора сотрудника в столбце и записать результаты в новый столбец в моем фрейме данных. До сих пор я мог подсчитывать экземпляры и отображать результаты в консоли R Studio, но я не уверен, как записать результаты обратно. Вот что я успешно проверил:

ids<-BAR$`Employee ID`
counts<-data.frame(table(ids))
counts

И вот возвращенные результаты:

1   00000018    1
2   00000179    1
3   00001045    1
4   00002729    1
5   00003095    2
6   00003100    1

Спасибо!

Ответы [ 2 ]

0 голосов
/ 09 апреля 2020

Если вы используете data.table, вы сможете сделать это быстро, особенно с большими наборами данных, используя .N, чтобы подсчитать количество вхождений на переменную группировки, указанное в by.

# Load data.table 
library(data.table)
# Convert data to a data.table 
setDT(BAR)
# Count and assign counts per level of ID
BAR[, count := .N, by = ID]
0 голосов
/ 09 апреля 2020

Если нам нужно создать столбец, используйте add_count

library(dplyr)
BAR1 <- BAR %>%
          add_count(`Employee ID`)

table, чтобы получить итоговый результат. Если мы хотим создать столбец в исходных данных

BAR1$n <- table(ids)[as.character(BAR$`Employee ID`)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...