狄利克雷 3d 图有问题
Having trouble with Dirichlet 3d plot
我正在尝试根据 Dirichlet 分布创建随机抽取的 3D 图,但即使我有三个变量的数据,它似乎也只是在二维中绘制。
draw <- rdirichlet(100, alpha = c(.3,.4,.3))
scatter3D(x ,y, z)
scatterplot3d(draw[,1:3])
如您所见,我尝试了两种方法,使用了两个不同的包。首先,您可以在下图中看到它们的 y 值似乎丢失了,但我不确定为什么。
当我尝试使用不同的包时,不仅缺少 y 值,而且绘制的其他两个值好像在 45 度线上,这是不正确的。任何帮助是极大的赞赏!
y 值没有丢失。在您的情况下,3 阶 Dirichlet 分布将具有位于二维单纯形(即 2d 平面)上的点,因为每个点的坐标总和必须为 1。(Wikipedia page 上的 pdf 图看到这个可能会有帮助。)
在你的第二个图中,这些点实际上并不在 45 度线上(它们只是看起来像)。 rgl
包中的交互式 3d 图可能有助于了解这一点。
draw <- gtools::rdirichlet(100, alpha = c(.3, .4, .3))
rgl::plot3d(draw)
一个看起来像这样的情节:
实际上在二维单纯形上有点,旋转一下就可以看到:
我正在尝试根据 Dirichlet 分布创建随机抽取的 3D 图,但即使我有三个变量的数据,它似乎也只是在二维中绘制。
draw <- rdirichlet(100, alpha = c(.3,.4,.3))
scatter3D(x ,y, z)
scatterplot3d(draw[,1:3])
如您所见,我尝试了两种方法,使用了两个不同的包。首先,您可以在下图中看到它们的 y 值似乎丢失了,但我不确定为什么。
当我尝试使用不同的包时,不仅缺少 y 值,而且绘制的其他两个值好像在 45 度线上,这是不正确的。任何帮助是极大的赞赏!
y 值没有丢失。在您的情况下,3 阶 Dirichlet 分布将具有位于二维单纯形(即 2d 平面)上的点,因为每个点的坐标总和必须为 1。(Wikipedia page 上的 pdf 图看到这个可能会有帮助。)
在你的第二个图中,这些点实际上并不在 45 度线上(它们只是看起来像)。 rgl
包中的交互式 3d 图可能有助于了解这一点。
draw <- gtools::rdirichlet(100, alpha = c(.3, .4, .3))
rgl::plot3d(draw)
一个看起来像这样的情节:
实际上在二维单纯形上有点,旋转一下就可以看到: