2017-11-17 4 views
0

私のデータセット(origen)は、3つの列、因子変数(Origen)、2つの静的変数(AeとAdp)で構成されています。起源のカテゴリ変数のいくつかの要因は、わずか1回または2回の観察によって構成される。ggplot2でのstat_density2d()の問題

このコードを実行:

ggplot (origen, aes (x = Ae, y = Adp, colour = Origen)) + 
stat_density2d(aes (fill = Origen, colour = Origen, alpha = 0.9), 
geom = "polygon", lty = 3,lwd = 0.001) + xlim(8, 23) + ylim(22, 58) + 
scale_alpha(range = c(0, 0.2),guide = "none") + 
geom_point(aes(fill=Origen),colour="black",pch=21,size=3,alpha=0.1) 

私はggplot内stat_density2d機能()1には結果を得ることはありません。しかし、1〜2回の観測値しか含まないグループを手動で削除すると、上記のコードが正しく機能し、密度領域が表示されます。

コードを変更することでこの問題を回避するにはどうすればよいですか?これらの3つ以上の観測値グループと他のグループのポイントを実行するには、stat_density2d関数でどのような新しい属性を記述する必要がありますか?

答えて

1

これはあなたの質問に対する直接の回答ではありませんが、group_by()filter()を実行することで、<の観測結果でグループを削除できます。

library(dplyr) 

data_filtered <- data %>% 
    group_by(Origen) %>% 
    filter(n() > 1) 

(警告ここから上げているように見える "必要なTRUE/FALSEが欠損値":https://github.com/tidyverse/ggplot2/blob/8778b48b37d8b7e41c0f4f213031fb47810e70aa/R/stat-density-2d.r#L58

+0

ありがとうyutannihilation。それは別の方法です。 – antecessor

関連する問題