2011-12-13 3 views
0

geom_boxplotについて別の質問があります。 異常値に対してgeom_jitterをプロットしないでください。このように私はあなたのデータセットzに列is.outlierを追加し、別のgeom_jitterのすべての点をプロットしないでください。

aa <- c(rep("A1",5), rep("A2",3), rep("A3",4), rep("A4",9), rep("A5",3)) 
aa <- as.factor(aa) 
per <- runif(length(aa), min=0, max=100) 
per <- trunc(per) 
z <- data.frame(x=aa,y=per) 
z$ch <- NA 
z[z$x %in% c("A1","A2"), "ch"] <- "string1" 
z[z$x %in% c("A3"), "ch"] <- "string2" 
z[z$x %in% c("A4", "A5"), "ch"] <- "string3" 

z$ch <- as.factor(z$ch) 
z$x = with(z, factor(x, rev(levels(x)))) 
p <- ggplot(z, aes(x, y, fill = ch)) + 
geom_boxplot(size = 0.2, position = "dodge", outlier.colour = "red", outlier.shape = 16,  outlier.size = 2) + 
geom_jitter(size=1,position = "dodge") + 
opts(legend.position = "right") + 
scale_colour_hue("variable") + 
coord_flip() 
print(p) 

答えて

0

で一つの色やジッタの点で外れ値を持つことができます(TRUEであるならば、その値が外れ値である場合のみ)。あなたは、外れ値以外のすべてに何かをしたい非外れ値のサブセット、例えばとのデータ引数が含まれている場合は、

geom_jitter(some_stuff, data = subset(z, !is.outlier)) 

は、外れ値と非外れ値とは異なることを行う、あなたの美的にis.outlierを使用し、例えばますか、

geom_point(aes(size = is.outlier + 1)) 
+0

私はこの考えを理解していますが、これを実現するのに成功しませんでした。外れ値ポイントは、文字列1または2または3であり、各行ではありません。だから私はどのように私のデータフレームにis.outlierカラムを追加することができないのか分かりません。また、is.outlierはオブジェクトクラスmodlistのためのものです... – Tali

+0

私はあなたが達成しようとしているか分からないと告白する必要があります。 'geom_jitter'は、ジッタ付き点をプロットに追加しています。彼らは異常値ではありません。 –

関連する問題