R Я бы хотел посчитать количество пациентов по var "evnt" через group_by или nrow. - PullRequest
0 голосов
/ 11 марта 2020

У меня есть фрейм данных в формате

  Id_patient Evnt_chr
1         30     evnt
2         30     evnt
3         30 Not evnt
4          1 Not evnt
5          1 Not evnt
6          9     evnt
7         89     evnt
8         89 Not evnt

Мне нужно получить фрейм данных в следующей форме:

Evnt_chr     Nb_id_patient  %
evnt         3              75
Not_evnt     1              25

Спасибо за вашу помощь

Матье

1 Ответ

0 голосов
/ 11 марта 2020

Использование dplyr:

library(dplyr)

df %>%
  group_by(Id_patient) %>% 
  summarize(evnt = if(any(Evnt_chr == "evnt")) "evnt" else "Not evnt") %>%
  `[[`("evnt") %>%
  table() %>%
  cbind( 100 * ./sum(.)) %>%
  `colnames<-`(c("Nb_id_patient", "%"))

#>          Nb_id_patient  %
#> evnt                 3 75
#> Not evnt             1 25
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...