[英]Plotting scatter plot by groups in r
r中是否有任何函数可以绘制这种散点图,从而将点按组分开?
到目前为止,这是我所做的:
hours = c(0.00 ,-1.78 ,-0.50 ,-2.00 ,-2.80 ,2.00 ,-0.16 ,-0.34 ,1.00 ,1.00 ,2.00 ,-1.34 ,-1.00 ,-1.10 ,-0.43 ,-0.49 ,-0.02 ,-0.91, 0.48 ,2.33 ,1.00 ,0.00 ,1.18 ,1.29 ,-1.07 ,-0.26 ,1.96 ,0.36 ,2.00 ,-0.63 ,-0.80 ,-0.70 ,-2.00 ,1.17 ,0.67 ,-3.00)
group = c(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2)
df = data.frame(hours,group)
ggplot(df, aes(group, hours)) + geom_point(shape = 16, size = 5, position = position_jitter(w=0.3,h=0.3))
但是结果却很奇怪:
任何帮助都非常感谢!
这是使用汽车数据的方法
library(tidyverse)
library(ggplot2)
data(cars)
cars %>%
gather(variable, value) %>%
ggplot()+
geom_jitter(aes(x = variable, y = value), width = 0.2, height = 0)+
geom_errorbar(data = cars %>%
gather(variable, value) %>%
group_by(variable) %>%
summarise(value = mean(value)), aes(x = variable, ymin= value, ymax = value))+
geom_hline(aes(yintercept = mean(value)), lty = 2)+
theme_bw()
带有刚刚发布的数据:
ggplot(df)+
geom_jitter(aes(x = as.factor(group), y = hours), width = 0.2, height = 0)+
geom_errorbar(data = df%>%
group_by(group) %>%
summarise(hours = mean(hours)), aes(x = group, ymin= hours, ymax = hours))+
geom_hline(aes(yintercept = mean(hours)), lty = 2)+
theme_bw()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.