23

R で ggplot を使用してボックスプロットを作成するコードがあります。年とバトルで外れ値にラベルを付けたいと思います。

ボックスプロットを作成するコードは次のとおりです

require(ggplot2)
ggplot(seabattle, aes(x=PortugesOutcome,y=RatioPort2Dutch ),xlim="OutCome", 
y="Ratio of Portuguese to Dutch/British ships") + 
geom_boxplot(outlier.size=2,outlier.colour="green") + 
stat_summary(fun.y="mean", geom = "point", shape=23, size =3, fill="pink") + 
ggtitle("Portugese Sea Battles")

誰でも助けることができますか?私はこれが正しいことを知っていました。外れ値にラベルを付けたいだけです。

4

6 に答える 6

12

ggplotこれは、適切なstat_summary呼び出しを使用して、その中で簡単に行うことができます。

ggplot(mtcars, aes(x = factor(cyl), y = drat, fill = factor(cyl))) + 
  geom_boxplot() +
  stat_summary(
    aes(label = round(stat(y), 1)),
    geom = "text", 
    fun.y = function(y) { o <- boxplot.stats(y)$out; if(length(o) == 0) NA else o },
    hjust = -1
  )

ここに画像の説明を入力

于 2019-06-17T18:54:02.003 に答える
-2

@JasonAizkalns ソリューションを少しひねると、外れ値にデータ フレーム内の位置を示すラベルを付けることができます。

mtcars[,'row'] <- row(mtcars)[,1]
...
mutate(outlier = ifelse(is_outlier(drat), row, as.numeric(NA)))
...

データ フレームを R Studio 環境にロードして、外れ値の行のデータを詳しく調べることができます。

于 2016-06-10T11:19:35.377 に答える