R语言,计算data.frame里某元素的均值

发布于 2022-09-11 15:05:13 字数 1295 浏览 15 评论 0

题目描述

数据源, ggplot2包的diamonds, 预览如下

 carat cut   color clarity depth table price     x     y     z
   <dbl> <ord> <ord> <ord>   <dbl> <dbl> <int> <dbl> <dbl> <dbl>
 1  0.23 Ideal E     SI2      61.5    55   326  3.95  3.98  2.43
 2  0.23 Ideal J     VS1      62.8    56   340  3.93  3.9   2.46
 3  0.31 Ideal J     SI2      62.2    54   344  4.35  4.37  2.71
 4  0.3  Ideal I     SI2      62      54   348  4.31  4.34  2.68
 5  0.33 Ideal I     SI2      61.8    55   403  4.49  4.51  2.78
 6  0.33 Ideal I     SI2      61.2    56   403  4.49  4.5   2.75
 7  0.33 Ideal J     SI1      61.1    56   403  4.49  4.55  2.76
 8  0.23 Ideal G     VS1      61.9    54   404  3.93  3.95  2.44
 9  0.32 Ideal I     SI1      60.9    55   404  4.45  4.48  2.72
10  0.3  Ideal I     SI2      61      59   405  4.3   4.33  2.63

我希望在画柱状图时,
x轴选用cut (即Levels: Fair < Good < Very Good < Premium < Ideal),
y轴选用该cut等级的价格均价.

相关代码

我目前使用的方法比较蠢, 如下先如下计算多个diamonds的值, 放在另一张表里, 但效率低下

mean(diamonds[which(diamonds$cut=='Ideal'),]$price)

问题描述

1, ggplot2里有更方便的方式实现柱状图y轴计算均值吗?
2, 在表外计算时, 有更好的方式替代吗?

第一次问问题, 先谢过大家.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

风流物 2022-09-18 15:05:13
diamonds %>%
dplyr::group_by(cut) %>%
dplyr::mutate(avg_price = mean(price)) %>%
dplyr::ungroup() %>%
ggplot2::ggplot(aes(x = cut,y=avg_price)) + ggplot2::geom_point()
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文