有Dirichlet 3d情节的麻烦

时间:2016-10-17 23:58:41

标签: r plot 3d dirichlet

我正在尝试从Dirichlet分布创建随机抽取的3D图,但它似乎只是在2维中绘制,即使我有三个变量的数据。

draw <- rdirichlet(100, alpha = c(.3,.4,.3))
scatter3D(x ,y, z)
scatterplot3d(draw[,1:3])

正如您所看到的,我尝试了两种方式,使用两种不同的包。在第一个中,您可以在下面的图像中看到它们的y值似乎缺失,但我不确定为什么。 enter image description here

当我尝试使用不同的包时,不仅缺少y值,而且其他两个值被绘制为好像它们在45度线上,这是不正确的。任何帮助是极大的赞赏! enter image description here

1 个答案:

答案 0 :(得分:2)

y值不会丢失。在您的情况下,3阶Dirichlet分布将具有位于2维单形(即2d平面)上的点,因为每个点的坐标必须总和为1.({3}上的pdf图可能有助于看到这一点。)

在你的第二个情节中,这些点实际上并不是在45度线上(它们看起来就像它)。 rgl包中的交互式3D图可能有助于查看此内容。

draw <- gtools::rdirichlet(100, alpha = c(.3, .4, .3))
rgl::plot3d(draw)

看起来像这样的情节:

Wikipedia page

实际上在2d-simplex上有点,如果你旋转它就可以看到它:

enter image description here