我有一个数据框,如:
my_tibble <- tibble::tibble(A=c('a','a','b','a','a','b', 'c'), B = c(1,0,0,1,1,1,1))
然后,我可以计算B栏上A的百分比
my_tibble%>%
group_by(A) %>%
summarise (percentage = mean(B)) %>%
filter(percentage > 0)
我如何移除c
之类的记录,这些记录只构成一个/太少的观察值以产生有意义的百分比?
my_tibble %>%
count(A) %>%
mutate(prop = prop.table(n))
是第一次尝试识别这些记录。但我不确定如何将其包含在过滤条件中。
答案 0 :(得分:2)
您可以在摘要中添加另一列来计算每个组的记录数,然后根据它进行过滤:
my_tibble %>%
group_by(A) %>%
summarise(percentage = mean(B), n = n()) %>%
filter(percentage > 0, n > 1)
# A tibble: 2 x 3
# A percentage n
# <chr> <dbl> <int>
#1 a 0.75 4
#2 b 0.50 2