density2d の背後にある原理に関して、より一般的な質問があります。動物の動きを視覚化するためにggplotとdensity2d関数を使用しています。私のアイデアは、動物がほとんどの場合どこにいるかを示すヒート マップを計算したり、特に関心のある領域を特定したりすることでした。それでも、density2d 関数は、かなり説明のつかないプロットを生成することがあります。
これが私が意味することです:
set.seed(4)
x<-runif(50,1,599)
y<-runif(50,1,599)
df<-data.table(x,y)
ggplot(df,aes(x=x,y=y))
+stat_density2d(aes(x=x,y=y,fill=..level..,alpha=..level..),bins=50,geom="polygon")
+coord_equal(xlim=c(0,600),ylim=c(0,600))
+expand_limits(x=c(0,600),y=c(0,600))
+geom_path()
次のようになります。
密度の推定値はあるがデータがない領域があります (x:50、y:300 付近)。
これと比較してください:
set.seed(13)
x<-runif(50,1,599)
y<-runif(50,1,599)
df<-data.table(x,y)
ggplot(df,aes(x=x,y=y))
+stat_density2d(aes(x=x,y=y,fill=..level..,alpha=..level..),bins=50,geom="polygon")
+coord_equal(xlim=c(0,600),ylim=c(0,600))
+expand_limits(x=c(0,600),y=c(0,600))
+geom_path()
次のようになります。
ここには、密度推定値が「ない」領域がありますが、実際のデータがあります (x:100、y:550 付近)。
誰かが関連する質問をしました:
R の属性値の分布を使用してヒートマップを作成します (密度ヒートマップ
ではありません) が、満足のいく答えが見つかりません。
だから私の質問は(i)なぜですか?(ii) 可能であれば回避/調整する方法は?