如何解决R geom_bar,每个条表示一列子集的平均值
如果我有一列带有数值的列,并且想创建一个条形图,其中每个条形均作为该列子集的平均值,那该怎么办? 例如,
x1 <- c(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
x1_df <- data.frame(x1)
x_set1 <- mean(x1_df$x1[1:5])
x_set2 <- mean(x1_df$x1[6:10])
x_set3 <- mean(x1_df$x1[11:15])
x_set4 <- mean(x1_df$x1[16:20])
如何创建4个具有平均值高度的条形图?
解决方法
您可以每5个值中的mean
进行绘制。
library(dplyr)
library(ggplot2)
x1_df %>%
group_by(grp = ceiling(row_number()/5)) %>%
summarise(mean = mean(x1)) %>%
ggplot() + aes(grp,mean) + geom_col()
,
在base R
中,我们可以使用barplot
barplot(with(x1_df,tapply(x1,as.integer(gl(length(x1),5,length(x1))),FUN = mean)))
-输出
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。