2016-01-15 18 views
5

Tôi đang cố gắng tạo biểu đồ với các ước tính và khoảng tin cậy từ cùng một hồi quy cho một số quốc gia. Tôi chạy hồi quy bằng cách sử dụng 's group_by(country), và sau đó tôi tổng hợp tất cả các kết quả vào một khung dữ liệu với broom' s tidy().ggplot2: geom_pointrange() facet_grid() với coord_flip() và tỷ lệ miễn phí

Khi tạo biểu đồ từ khung dữ liệu này (gọi là bycountry1), tôi chạy đoạn mã sau:

ggplot(bycountry1, aes(x = country, y = estimate, ymin = estimate - std.error * 2, ymax = estimate + std.error * 2)) + 
    geom_hline(yintercept = 0, colour = "black", lty = 2) + 
    geom_pointrange() + 
    coord_flip() + facet_grid(. ~ term, scales = "free") 

here is the graph I get

Đây là những gì tôi muốn, ngoại trừ việc tôi muốn có tỷ lệ cho mỗi hộp là khác nhau, để tất cả chúng trông giống như hộp religious1. Vì đó là một trong hầu hết các biến đổi, nó thống trị quy mô, và sau đó trong hầu hết các hộp khác, bạn không thể thấy phương sai. Như mã ở trên cho thấy, tôi đã chỉ ra scales = "free" trong facet_grid() và tôi đã thử tất cả các biến thể, cũng với facet_wrap() và tôi không thể làm việc này.

+2

Làm thế nào về sử dụng 'geom_errorbarh' thay vì' coord_flip' để có được thanh lỗi ngang? – aosmith

+0

Đó là một ý tưởng hay. Cảm ơn! Tôi đã thử nó trước đây và nó không nhìn tuyệt vời, nhưng tôi chỉ thấy rằng bạn có thể sửa đổi 'chiều cao' của' geom_errorbarh', và cũng thêm một 'geom_point' để có được chính xác những gì tôi đang tìm kiếm. Bây giờ tôi sẽ thêm một câu trả lời với đề xuất của bạn. Cảm ơn một lần nữa! –

Trả lời

3

Theo đề xuất của aosmith, tôi đã làm cho nó hoạt động bằng cách sử dụng geom_errorbarh và xóa coord_flip(). Tôi cũng phải đặt số height của số geom_errorbarh thành 0 và thêm geom_point để ước tính. Đây là mã:

ggplot(bycountry1, aes(y = country, x = estimate, xmin = estimate - std.error * 2, xmax = estimate + std.error * 2)) + 
    geom_vline(xintercept = 0, colour = "black", lty = 2) + 
    geom_point() + 
    geom_errorbarh(height = 0) + 
    facet_grid(. ~ term, scales = "free") 

Và hình ảnh kết quả

enter image description here

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