18
df <- data.frame(age=c(10,10,20,20,25,25,25),veg=c(0,1,0,1,1,0,1))
g=ggplot(data=df,aes(x=age,y=veg))
g=g+stat_summary(fun.y=mean,geom="point")

ポイントは、各年齢の野菜の平均を反映しています。これは、以下のコマンドで軸の制限を変更した後も維持したいと思っていたものです。

g=g+ylim(0.2,1)

上記のコマンドで軸の制限を変更すると、残念ながら veg==0 サブセットがデータから削除され、

「警告メッセージ: 欠損値を含む 4 行を削除しました (stat_summary)」

データ プロット (stat_summary 平均) が veg==0 ポイントを省略しているため、これは悪いことです。どうすればこれを防ぐことができますか? プロットの空の部分 (0 から .2 までの縦座標) を表示したくないだけですが、stat_summary 計算から関連データを削除したくありません。

4

1 に答える 1

29

座標系を指定することでそれを行うことができます:

df <- data.frame(age=c(10,10,20,20,25,25,25),veg=c(0,1,0,1,1,0,1))
g=ggplot(data=df,aes(x=age,y=veg))
g=g+stat_summary(fun.y=mean,geom="point")
g+coord_cartesian(ylim=c(0.2,1)) #do not use +ylim() here
于 2010-04-13T00:37:56.627 に答える