R 如何使用筛选值对列进行汇总
我有5列,我想按列分组,然后按每列的平均值进行汇总。但是,在这个过程中,我只想计算所有列在特定范围内的值的平均值。这可能吗?不排除行本身,而是要聚合的值 当前代码:R 如何使用筛选值对列进行汇总,r,dplyr,R,Dplyr,我有5列,我想按列分组,然后按每列的平均值进行汇总。但是,在这个过程中,我只想计算所有列在特定范围内的值的平均值。这可能吗?不排除行本身,而是要聚合的值 当前代码: a <- b %>% group_by(c) %>% summarise_all(funs(mean(., na.rm=T))) a%组(c)%>%总结所有(funs(平均值(,na.rm=T))) 如果只想使用数据的一个子集来计算平均值,可以在summary()中使用lambda函数 但是,如果子集仅基于一个变
a <- b %>% group_by(c) %>% summarise_all(funs(mean(., na.rm=T)))
a%组(c)%>%总结所有(funs(平均值(,na.rm=T)))
如果只想使用数据的一个子集来计算平均值,可以在summary()中使用lambda函数
但是,如果子集仅基于一个变量,则只需使用filter()
另外,请注意,summary\u all()
已失效,我们应该使用summary(overs())
这里是一个示例,其中仅使用2
和3
之间的值计算平均值
库(tidyverse)
虹膜%>%
组别(种类)%>%
总结(跨越(everything(),~mean(.x,na.rm=TRUE)))
#>#tibble:3 x 5
#>种萼片。长萼片。宽花瓣。长花瓣。宽
#>
#>1 setosa 5.01 3.43 1.46 0.246
#>2花色5.942.774.261.33
#>3弗吉尼亚州6.59 2.97 5.55 2.03
my_range=c(inf=2,sup=3)
虹膜%>%
组别(种类)%>%
总结(跨越(everything(),~.x[.x>my_range[“inf”]&.x%平均值(na.rm=TRUE)))
#>#tibble:3 x 5
#>种萼片。长萼片。宽花瓣。长花瓣。宽
#>
#>1 setosa NaN 2.60 NaN NaN
#>2花色楠2.63楠楠
#>3弗吉尼亚南部2.69南部2.27
(v2.0.0)于2021年5月12日创建。更多解释会有所帮助。“我只想计算所有列在特定范围内的值的平均值”--例如,这是否意味着10岁以下和90岁以上的人都应该被忽略,或者包括在内,但限制在这个极限?如果你能给出一个输入数据和期望输出的例子,这将有助于明确你在寻找什么。