2014-10-30 45 views
0

我有這樣與非唯一值箱線圖[R選擇數據僅

head(data) 

n OESST  wsB 
4 0.52924690 4 
8 0.04488144 6 
6 0.29909668 6 
0 1.42228888 6 
2 1.92228888 4 
4 1.85659560 6 

數據幀和我做的OESST箱線圖作爲wsB功能的不同n

ggplot(na.omit(data), aes(x=factor(wsB), y=OESST, colour = factor(n))) + geom_boxplot(outlier.size=0,fill = "white",position="dodge",size=0.3,alpha=0.3) + stat_summary(fun.y=median, geom="line", aes(group=factor(n), colour = factor(n)),size=1) 

我想要做的是從圖中刪除獨特的n-wsB組合(它們僅作爲一條線顯示,但實際上並沒有一個框)。

任何幫助?

謝謝

+0

那麼您的示例數據中是否會有任何線條被繪製?如果沒有,你可以請一個[可重現的例子](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example),這樣我們可以嘗試繪製數據到走着瞧吧。 – MrFlick 2014-10-30 19:57:37

回答

1

我認爲最好的方法就是先過濾數據。使用dplyr

library(dplyr) 
data %>% 
    group_by(n, wsB) %>% 
    mutate(n.wsB.count = n()) %>% 
    filter(n.wsB.count > 1) %>% 
    na.omit() %>% 
ggplot(aes(x=factor(wsB), y=OESST, colour = factor(n))) + 
    geom_boxplot(outlier.size=0,fill = "white", position="dodge", size=0.3, alpha=0.3) + 
    stat_summary(fun.y=median, geom="line", aes(group=factor(n)), size=1) 

未測試如(@MrFlick指出)所提供的數據是不可再現的問題。我也在stat_summary中剔除了多餘的colour美學。