r - 根据过滤条件按组计算平均值
问题描述
为新手问题道歉,仍然掌握 DPLYR(和一般的 R)的窍门。
我有以下数据集,我正在尝试计算每个条目超过 1 个的区域组的平均评分。
Area Rating
UK 5.256
Ireland 6.1465
Canada 6.1452
USA 6.14
Ireland 4.258
USA 3.154
我预期的返回数据将是:
Area Count Average_Rating
Ireland 2 5.20255
USA 2 4.647
我尝试了以下代码,当我尝试执行“计数”列时似乎正在下降(它返回所有区域的平均值)
df %>%
group_by (Area) %>%
mutate (count =n()) %>%
summarise (mean = mean(Average_Rating)) %>%
arrange(desc(mean))
我试过玩弄动词的顺序,但没有成功。非常感谢任何帮助!
解决方案
我们需要filter
在group_by
步骤之后
library(dplyr)
df1 %>%
group_by(Area) %>%
filter(n() > 1) %>%
summarise(Count = n(), Average_Rating = mean(Rating)) %>%
arrange(desc(Average_Rating))
# A tibble: 2 x 3
# Area Count Average_Rating
# <chr> <int> <dbl>
#1 Ireland 2 5.20
#2 USA 2 4.65
数据
df1 <- structure(list(Area = c("UK", "Ireland", "Canada", "USA", "Ireland",
"USA"), Rating = c(5.256, 6.1465, 6.1452, 6.14, 4.258, 3.154)),
class = "data.frame", row.names = c(NA,
-6L))
推荐阅读
- c# - WPF - 如何将样式的设置器绑定到元素的属性?
- spring - 如果我减少 @Document 注释中的分片参数,Elasticseach 会自行减少分片数量吗?
- c# - 弹出对话框表单的行为与其来源不同:编辑视图
- firebase - ionic4 firebase 通知集成
- keras - 了解 Triplet Loss 数据生成器
- angular - 价值没有体现在当值从 ControlValueAccessor 内部更新时
- ios - Swift 5:二元运算符“==”不能应用于“AnyObject?”类型的操作数 和“UIView?”
- javascript - 将不同的 CSS 动画委托给单个父项的不同子元素
- android - Kotlin嵌套协程启动未触发?
- android - 在 Android 中播放内存流中的 WAV 音频