Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 如何使用筛选值对列进行汇总_R_Dplyr - Fatal编程技术网

R 如何使用筛选值对列进行汇总

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函数 但是,如果子集仅基于一个变

我有5列,我想按列分组,然后按每列的平均值进行汇总。但是,在这个过程中,我只想计算所有列在特定范围内的值的平均值。这可能吗?不排除行本身,而是要聚合的值

当前代码:

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岁以上的人都应该被忽略,或者包括在内,但限制在这个极限?如果你能给出一个输入数据和期望输出的例子,这将有助于明确你在寻找什么。