使用ggplot将误差线添加到R中的聚簇条形图中

jjllss22

我正在尝试为每个因变量(x轴上的指标)为我的自变量(y轴)创建带有误差线的聚类条形图。

我的资料:

df <- data.frame (Parameter_Estimate=c('Burnham','Calumet','Northerly','Orland','Hickory Hammock','Lake O','MacArthur','Site E','Corrales','Oxbow','Tingley','Galilee','Jacobs Point','Prudence Island','Town Pond','Trial 1','Trial 2','2017','2018','Spring','Summer','0.5m','1m','Chicago','Florida','New Mexico','Rhode Island'),
     Species.Richness=c(79.4, -20.6, -12.6, -4, -63.15, -66.4, -69.15, -70.65, -52.07, -36.07, -67.23, -67.98, -69.9, -70.53, -74.73, 30.877, -2.743, 29.346, 0.9053, 29.721, -0.266, 28.898, 2.697, 70.1, -58.04, -42.49, -61.51),
     FQI=c(29.272,-0.271,-1.095,-2.652,-20.24,-19.66,-21.2,-22.56,-10.36,-5.158,-18.66,-8.802,-8.431,-7.372,-15.25,18.474,-0.14,17.869,2.1378,17.809,0.9189,18.155,1.004,28.268,-19.91,-10.39,-9.196),
     MeanC=c(3.294,0.4964,0.2252,-0.212,-0.631,-0.299,-0.339,-0.758,0.3185,0.3831,-0.135,2.7739,3.5218,4.089,3.1736,4.0308,0.1061,4.003,0.3103,4.0638,0.0266,4.0943,-0.052,3.4215,-0.634,0.0615,3.1985),
     Per.Non.Nat=c(11.912,-3.756,7.666,10.192,14.888,71.874,-4.33,-3.784,-6.288,9.517,3.31,-10.91,-11.65,-11.88,-6.388,16.086,-1.423,14.33,4.372,12.659,4.25,15.582,-0.702,15.437,16.136,-1.346,13.58),
     Shannon= c(3.6465,-0.449,-0.216,-0.4,-2.219,-2.897,-2.712,-2.504,-1.507,-0.798,-2.428,-2.066,-2.233,-2.528,-3.289,1.9313,-0.052,1.8939,0.268,1.8433,0.0975,1.8852,0.086,3.3804,-2.317,-1.311,-2.263),
     Weight.MeanC=c(3.3643,1.0304,0.4379,-0.428,-1.906,-2.679,-1.352,-1.106,1.8142,0.7625,0.1685,4.6151,5.1463,4.3978,3.6472,4.3178,0.0385,4.4046,-0.273,4.3543,-0.028,4.3357,-0.011,3.6243,-2.021,0.6551,4.1965),
     SE1=c(2.697,3.814,3.814,3.814,4.045,4.045,4.045,4.045,3.21,3.21,3.21,3.21,3.21,3.438,3.21,12.194,1.89,12.185,2.2041,12.299,2.0314,12.394,2.271,2.249,3.374,2.805,2.713))

SE1是“物种丰富度”的每个自变量数据点的标准误差(我没有机会为其他指标添加其他SE值,我现在只是尝试使用该值) 。

我使用以下代码创建了一个图形:

mm <- melt (df, id.vars='Parameter_Estimate')

ggplot (mm, aes (x=Parameter_Estimate, y=value) + geom_bar (stat='identity') + coord_flip()+facet_grid (.~variable) + labs (x=',y=')+scale_x_discrete (limits=df$Parameter_Estimate) +
  geom_errorbarh (data=df, aes (y=Species.Richness, xmin=SE1, xmax=SE1), size=5, color="blue",  inherit.aes = FALSE)

该条形图不正确(SE1现在是沿x轴的度量之一),并且误差线没有跟随我的“物种丰富度”数据。

数字:

数字

我不确定错误栏有什么问题以及如何解决!

笨狼

您可以通过从熔融中排除多余的SE1列来除去它:

mm <- melt (df[,-ncol(df)], id.vars='Parameter_Estimate')

然后要使错误栏出现在“物种丰富度”构面中,您需要为其指定变量,其级别与上面的mm相同:

se_df = df[,c("Parameter_Estimate","Species.Richness","SE1")]
se_df$variable="Species.Richness"
se_df$variable=factor(se_df$variable,levels=levels(mm$variable))

现在我们绘制:

ggplot (mm, aes (x=Parameter_Estimate, y=value)) + 
geom_bar (stat='identity') + 
facet_grid (~variable) + labs (x='',y='')+
geom_errorbar(data=se_df, inherit.aes=FALSE,aes (x=Parameter_Estimate,
ymin=Species.Richness-SE1, ymax=Species.Richness+SE1),
size=1, color="blue")+
scale_x_discrete(limits=df$Parameter_Estimate)+
coord_flip()

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将值添加到R中表的条形图中

将误差线添加到条形图

r将线或线段添加到条形图

r-ggplot2-将差异添加到分组的条形图中

如何使用ggplot2将标准误差线添加到箱形图和晶须图中?

向R中的水平条形图添加误差线

ggplot将汇总的摘要添加到条形图中

将误差线添加到Pandas图中的单个列

将标签添加到ggplot堆叠条形图中的整个条形

使用分组变量将误差线添加到ggplot线图中

将带有geom_seg的线添加到R中的堆叠条形图中

在R中使用ggplot将参考线添加到条形图中

ggplot:如何将组平均值作为一条线添加到R中的分组条形图?

如何将已计算的标准误差值添加到条形图(ggplot)中的每个条形?

将条形图上的箭头(或箭头的图像)添加到R中的plotly或ggplot中?

将误差线添加到绘图箱图中的点

根据ggplot中的条件将点添加到堆叠条形图中

在dplyr中按分组后在ggplot2条形图中添加误差线

MS Excel-将线添加到堆积条形图中的某些系列

将线添加到ggplot2中的双条形图

将趋势线添加到堆积的条形图中

向ggplot2 R中的堆叠条形图添加误差线-已解决

将误差线添加到分组的 R 绘图条形图

将演化线添加到堆叠条形图

使用 ggplot2 在分组条形图中添加来自不同列的误差线

将图例添加到条形图(R ggplot)

将样本大小添加到 R 中的 ggplot2 条形图

如何将非生物变量(温度、水等)作为线条添加到 ggplot2 R 中的条形图中?

在ggplot2中将圆形参考线添加到极坐标条形图