【发布时间】:2019-07-28 12:13:38
【问题描述】:
我有一个包含连续变量(名为 PI 的列)和 3 个类别(名为 Size 的列)的数据集。我想为每个类别的所有 PI 值绘制一个点图,另一个点表示平均值和一个 SE 误差条。这篇 Ross 等人的论文看起来有点像这样:
这是我目前所拥有的(我已经绘制了我的所有观点和我的平均观点),但它看起来不像纸上的图片
p<-ggplot(Index,aes(x=Size,y=PI)) + geom_dotplot(binaxis='y',stackdir='center',dotsize=0.5)
p
p + stat_summary(fun.y=mean,geom="point",shape=18,size=3,colour=c("red","blue","green"))
#to add SE bars
p + stat summary(fun.data=mean_sdl,fun.args=list(multi=1),geom="pointrange",colour="red")
p + stat_summary(fun.data=mean_sdl, fun.args = list(mult=1),
geom="pointrange", color="red")
library(ggplot2)
`library(Hmisc)`
library(gplots)
library(dplyr)
plot_data<-Index %>%
group_by(Size) %>%
summarise(mean=mean(PI),sd=sd(PI))
m<-plot_data$mean
s<-plot_data$sd
plot(plot_data$Size,plot_data$mean,ylim=range(0:5),border="white",xlab="Body Size",ylab="Performance Index", ylim(c(1,3)))
points(jitter(as.numeric(Index$Size)),Index$PI,col=as.integer(Index$Size)+1,pch=19)
segments(x0=1:3,x1=1:3,y0=m-s,y1=m+s,lwd=2)
segments(x0=1:3-0.2,x1=1:3+0.2,y0=m,y1=m,lwd=2)
segments(x0=1:3-0.1,x1=1:3+0.1,y0=m+s,y1=m+s,lwd=2)
segments(x0=1:3-0.1,x1=1:3+0.1,y0=m-s,y1=m-s,lwd=2)
【问题讨论】:
-
欢迎来到 Stack Overflow!通过提供minimal reproducible example 帮助他人帮助您。特别是,您应该通过编辑您的问题以包含
dput(Index)的输出来提供您的数据。如果Index是一个大数据框,您可能希望改用dput(head(Index, 10))的输出
标签: r