У меня есть фрейм данных:
region_calls = data.frame(
samples = c("S1", "S2", "S3", "S1", "S2", "S3"),
CN_Region = c("A","A","A", "B", "B", "B"),
CN_State = c("0", "NoCall1or2", "1", "2", "NoCall1or2", "NoCall")
)
Я пытался сделать это:
region_calls %>% group_by(CN_Region) %>%
summarise(call_rate = sum(grepl("0|NoCall_1or2|1|NoCall_2or3|2|3|NoCall_3or4|4", CN_State)/n()),
fixed_call_rate = sum(grepl("0|1|2|3|4", CN_State)/n()))
Однако каждый регион дает одинаковые call_rate
и fixed_call_rate
Ожидаемый ответ:
В основном я исключаю NoCall
(не NoCall1or2
) из числителя, но не из n()
в знаменателе
Что мне не хватает? Я также пытался nrow(.)
в знаменателе. Я видел несколько похожих вопросов, но они решают grepl
отдельно, чем я намеревался. Любой очиститель dplyr
подходов также приветствуется.