2016-03-11 15 views
6

Giả sử tôi chạy hồi quy tuyến tính đơn giản Bayes. Tôi muốn hình dung các kết quả bằng cách vẽ nhiều đường hồi qui dựa trên các phân bố hậu nghiệm của một (chặn) và b (độ dốc). Tôi tự hỏi làm thế nào để hiển thị các kết quả trong một phong cách heatmap giống như hoặc cách khác sử dụng minh bạch để tránh chồng chéo. Đây là một cách tiếp cận ggplot đơn giản.Bản đồ nhiệt của các đường hồi quy

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()) 

Có cách nào tốt hơn để thực hiện việc này không? Sẽ tốt hơn nếu màu sắc sẽ thay đổi tùy thuộc vào số lượng chồng chéo (như trong bản đồ nhiệt).

+0

Tôi nghĩ rằng bạn có một typo: 'df $ f = đại diện (1: N, mỗi = 80)' – csgillespie

+0

Cảm ơn! Đã sửa chữa nó – beginneR

Trả lời

5

Tại sao không làm một cốt truyện phù hợp với mẫu từ sau

g = ggplot(df, aes(x, y)) + 
    geom_line(alpha=1/50,col="grey",aes(group=f)) + 
    theme_classic() 

Sau đó bạn sau đó thêm một dòng sẫm màu cho Nguyện vọng sau

g + stat_summary(geom="line", fun.y=mean, color="black", lwd=1) 

Để cung cấp cho

enter image description here

4

Một cách khác mà bạn có thể thực hiện điều này là thông quaChức năngvới ggplot2. Có rất nhiều cách để làm điều này. Sử dụng df của bạn ...

Là một Heatmap

ggplot(df, aes(x = x, y=y))+ 
    stat_density_2d(aes(fill = ..density..), geom = "raster", contour = FALSE)+ 
    scale_fill_gradient(low = "blue", high = "red")+ 
    stat_summary(geom="line", fun.y=mean, color = "white",lwd=1)+ 
    theme_classic() 

heatmap

Ngược lại, bạn có thể sử dụng điểm là tốt.

ggplot(df, aes(x = x, y=y))+ 
    stat_density_2d(aes(size = ..density..), geom = "point", contour = FALSE)+ 
    stat_summary(geom="line", fun.y=mean, color = "white",lwd=1)+ 
    theme_classic() 

point density

+0

sáng tạo và đẹp – giacomo

Các vấn đề liên quan