dplyr总结条件

Bus*_*oot 2 r dplyr

我想应用dplyr函数summarise_all来计算每列中的平均值.但是,我确实想省略0值,因此需要构建条件语句.

df <- data.frame(x = c(1,0,4,6,0,9), y = c(12,42,8,0,11,2))
df %>% summarise(mean)
Run Code Online (Sandbox Code Playgroud)

这里解释了在为每个单独的列定义聚合功能时如何做.但是,我想使用summarise_all,因为我的originla数据包含许多列.

akr*_*run 7

我们需要使用

df %>%
   summarise_all(funs(mean(.[.!=0])))
Run Code Online (Sandbox Code Playgroud)