2012-01-16 31 views
1

我有可與所生成的數據幀:řGGPLOT2如何繪製一個彙總統計(例如內)

a <- c(rep("w",3), rep("x",3), rep("y",3), rep("z",3)) 
b <- rnorm(12) 
c <- c(rep(rnorm(1), 3), rep(rnorm(1), 3),rep(rnorm(1), 3),rep(rnorm(1), 3)) 
d <- c(1,1,1,2,2,2,1,1,1,2,2,2) 
test <- data.frame(a,b,c,d) 

我要生成箱圖的「B」列,並且在每個箱形圖顯示c列的值 - 這是每個「a」的一種參考值(因此是重複)。我幾乎沒有用下面的,這也表明我是多麼想要的數據顯示(小):

library(ggplot2) 
p <- ggplot(test) 
p <- p + geom_boxplot(aes(a, b)) 
p <- p + geom_point(aes(a, c), colour="red", shape=4, size=4) 
p <- p + facet_grid(. ~ d, , scales="free_x") 
p 

這種方法唯一的問題是,有真正爲每3 geom_points(在彼此的頂部) 「a」值 - 我如何消除這種低效率?我只想要一個geom_point。

非常感謝

回答

2

我認爲你只是想用特有的價值觀傳遞給geom_point一個單獨的數據幀:

p <- p + geom_point(data = unique(test[,c('a','c','d')]), 
        aes(a, c), colour="red", shape=4, size=4) 
+0

謝謝 - 現在這個工作很漂亮... – MalteseUnderdog 2012-01-16 13:00:42