【发布时间】:2019-08-21 02:25:27
【问题描述】:
在昨天和今天都在网上搜索之后,我得到一个传奇人物的唯一方法是在这篇文章中遵循“Brian Diggs”的解决方案: Add legend to ggplot2 line plot
这给了我以下代码:
library(ggplot2)
ggplot()+
geom_line(data=myDf, aes(x=count, y=mean, color="TrueMean"))+
geom_hline(yintercept = myTrueMean, color="SampleMean")+
scale_colour_manual("",breaks=c("SampleMean", "TrueMean"),values=c("red","blue"))+
labs(title = "Plot showing convergens of Mean", x="Index", y="Mean")+
theme_minimal()
如果我删除hline 的颜色,一切正常,但如果我在hline 的颜色中添加一个不是实际颜色的值(如"SampleMean"),我会收到一个错误,它不是一种颜色(仅适用于hline)。
怎么会加一个传说这么大的普通东西这么大的问题?还有更简单的方法吗?
创建原始数据:
#Initial variables
myAlpha=2
myBeta=2
successes=14
n=20
fails=n-successes
#Posterior values
postAlpha=myAlpha+successes
postBeta=myBeta+fails
#Calculating the mean and SD
myTrueMean=(myAlpha+successes)/(myAlpha+successes+myBeta+fails)
myTrueSD=sqrt(((myAlpha+successes)*(myBeta+fails))/((myAlpha+successes+myBeta+fails)^2*(myAlpha+successes+myBeta+fails+1)))
#Simulate the data
simulateBeta=function(n,tmpAlpha,tmpBeta){
tmpValues=rbeta(n, tmpAlpha, tmpBeta)
tmpMean=mean(tmpValues)
tmpSD=sd(tmpValues)
returnVector=c(count=n, mean=tmpMean, sd=tmpSD)
return(returnVector)
}
#Make a df for the data
myDf=data.frame(t(sapply(2:10000, simulateBeta, postAlpha, postBeta)))
【问题讨论】:
标签: r ggplot2 geom-hline