由于@MrFlick,我的原始问题的第一部分已得到回答。
我仍然对如何使用ggplot2来说明直方图密度图上的标准偏差感到困惑。 (与此类似:Illustrate mean and standard deviation in ggplot2 density plot)
我对R相当陌生,目前我已经习惯于ggplot2。我已经根据数据生成了密度图,并使用geom_vline
添加了均值,中位数,第一四分位数和第三四分位数的线。我能够显示平均值,中位数和第一四分位数的垂直线;但是,无论如何我都无法显示与第三四分位数相对应的行。
以下是分位数数据:
0% - 110.3001
25% - 145.2358
50% - 158.4238
75% - 173.9326
100% - 218.1902
因此,第三个四分位数的行应放置在X轴的175左右。
第二,我希望在ggplot2的直方图密度图中添加标准偏差图。我已经看过解决方案here,但是对于代码的工作方式我一无所知。
任何帮助将不胜感激!
代码:
library("ggplot2")
#library("cowplot")
library("sjlabelled")
plant_data <- read.csv(file="g54dma-plant-dataset.csv", header=TRUE, sep=",")
centX_trend <- ggplot(data=plant_data, aes(x=CentroidX)) +
geom_histogram(aes(y = ..density..),
breaks=seq( centX_summary["Min."] - 10, centX_summary["Max."] + 10, by = 10),
col="black",
fill= NA) +
geom_density(alpha = 0.2, fill="#FF6666")+
geom_vline(aes(xintercept=mean(plant_data$CentroidX), color="mean"), size=1)+
geom_vline(aes(xintercept=median(plant_data$CentroidX), color="median"),linetype='longdash', size=1)+
geom_vline(aes(xintercept=quantile(plant_data$CentroidX)[2],color="first_Quantile"), size=1)+
geom_vline(aes(xintercept=quantile(plant_data$CentroidX)[4],color="third_Quantile"), size=1)+
scale_color_manual(name = "statistics", values = c(mean = "#FF0000", median = "#3399FF", first_Quantile = "#66CC33", third_quantile = "black"))+
labs(title="Distribution for X Centroid Values", x="X Centroid Values", y="Density")+ theme_grey()
centX_trend