Boxplot R仅选择具有非唯一值的数据

时间:2014-10-30 19:04:34

标签: r boxplot

我有一个像这样的数据框

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组合(它们只能作为一条直线显示,但实际上并没有一个方框)。

任何帮助?

由于

1 个答案:

答案 0 :(得分: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指出)所提供的数据不能重现问题。我还在colour中找出了多余的stat_summary美学。