在以下代码中,项目b的第2笔付款为零值。使用管道%>%
,可以将项目b的计数显示为2而不是3,因为在第2次付款时没有b付款?
df <-data.frame("item" = c("a","b", "b","a","b"), "payment" = c(10,20,0,40,30) )
df_sum <-
df %>%
group_by(item) %>%
summarise(total = sum(payment),
totalcount =n())
答案 0 :(得分:2)
您可以过滤掉您不想要的行。例如,如果您不想计算payment = 0
的行数,可以使用filter
:
df %>%
group_by(item) %>%
filter(payment > 0) %>%
summarise(total = sum(payment),
totalcount =n())
# A tibble: 2 x 3
item total totalcount
<fct> <dbl> <int>
1 a 50.0 2
2 b 50.0 2