Dirichlet 3D绘图遇到麻烦

特列夫

我正在尝试根据Dirichlet分布创建随机绘制的3D图,但即使我具有三个变量的数据,它似乎也只能以2维绘制。

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

如您所见,我尝试了两种方式,使用了两个不同的程序包。首先,您可以在下面的图片中看到它们的y值似乎丢失了,但是我不确定为什么。在此处输入图片说明

当我尝试使用其他程序包时,不仅会丢失y值,而且还会绘制其他两个值,就像它们在45度线上一样,这是不正确的。任何帮助是极大的赞赏!在此处输入图片说明

Weihuang Wong

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

在您的第二个图中,这些点实际上不在45度线上(它们看起来像)。rgl包装中的交互式3d图可能会有助于您了解这一点。

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

如下图所示:

在此处输入图片说明

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

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章