2012-07-24 35 views
6

Khi sử dụng một facet_grid trong ggplot2 Tôi muốn có thể có giá trị tương quan cho dữ liệu được subsetted cho từng ô lưới ở góc trên cùng bên phải của ô cụ thể.giá trị tương quan trong lưới điện từ ggplot2

ví dụ: nếu chạy:

p <- ggplot(mtcars, aes(mpg, wt)) + geom_point() 
p + facet_grid(vs ~ am, margins=TRUE) 

Tôi muốn xem giá trị tương quan cho từng ô trong 9 ô lưới ở đâu đó. Trong trường hợp cụ thể này từ ví dụ này, tôi mong đợi mỗi trường hợp sẽ gần bằng 0,9 hoặc hơn từ kiểm tra trực quan. Hoặc có lẽ một bảng đầu ra đi với cốt truyện cung cấp các giá trị tương quan cho mỗi ô trong bảng phù hợp với facet_grid ... (điều này là ít hấp dẫn hơn nhưng cũng là một tùy chọn).

Lý tưởng nhất là tôi muốn mở rộng tính năng này sang bất kỳ chức năng nào khác mà tôi chọn để có thể sử dụng một hoặc cả hai biến được vẽ để tính thống kê.

Điều này có khả thi không?

Cảm ơn trước

Trả lời

3

Winston Chang gợi ý câu trả lời trên nhóm ggplot2 ... đây là những gì anh nói ... nó không phải là một câu trả lời xấu ...

Bạn có thể làm điều gì đó như sau:

p <- ggplot(mtcars, aes(mpg, wt)) + geom_point() 

# Calculate correlation for each group 
cors <- ddply(mtcars, c("vs", "am"), summarise, cor = round(cor(mpg, wt), 2)) 

p + facet_grid(vs ~ am) + 
geom_text(data=cors, aes(label=paste("r=", cor, sep="")), x=30, y=4) 

Tôi không nghĩ rằng nó có thể làm cho điều này đi ra một cách chính xác với lợi nhuận = TRUE, mặc dù. Nếu bạn muốn các lề, bạn có thể cần phải tiền xử lý dữ liệu của bạn để thêm một giá trị TẤT CẢ cho mỗi biến faceting.

-Winston

4

Tôi thà thêm một (tuyến tính) mượt mà với các dữ liệu. Nó cung cấp cho bạn nhiều thông tin hơn một mối tương quan.

ggplot(mtcars, aes(mpg, wt)) + 
    geom_smooth(method = "loess", colour = "red", fill = "red") + 
    geom_smooth(method = "lm", colour = "blue", fill = "blue") + 
    geom_point() + facet_grid(vs ~ am, margins=TRUE) 

enter image description here

ggplot(mtcars, aes(mpg, wt)) + geom_smooth(method = "lm") + geom_point() + 
    facet_grid(vs ~ am, margins=TRUE) 

enter image description here

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