beg*_*neR 6 r bayesian heatmap ggplot2
假设我运行贝叶斯简单线性回归.我想通过基于(截距)和b(斜率)的后验分布绘制多个回归线来可视化结果.我想知道如何以类似热图的方式显示结果,或者使用透明度来避免重叠.这是一个简单的ggplot方法.
library(ggplot2)
set.seed(123)
N = 1000
x = 1:80
a = rnorm(N,10,3)
b = rnorm(N,5,2)
y = vector("list",length=N)
for(i in 1:N) {y[[i]] = a[i]+b[i]*x}
df = data.frame(x=rep(x,N),y=unlist(y))
df$f = rep(1:N,each=80)
(plt <- ggplot(df, aes(x, y,group=f)) +
geom_jitter(alpha=1/30,width=5,col="blue") + theme_classic())
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来做到这一点?如果颜色会根据重叠量(就像在热图中那样)而改变,那将是很好的.
为什么不用后验样本绘制线图
g = ggplot(df, aes(x, y)) +
geom_line(alpha=1/50,col="grey",aes(group=f)) +
theme_classic()
Run Code Online (Sandbox Code Playgroud)
然后,然后为后部预期添加较暗的线
g + stat_summary(geom="line", fun.y=mean, color="black", lwd=1)
Run Code Online (Sandbox Code Playgroud)
给
| 归档时间: |
|
| 查看次数: |
626 次 |
| 最近记录: |