我正在尝试从Dirichlet分布创建随机抽取的3D图,但它似乎只是在2维中绘制,即使我有三个变量的数据。
draw <- rdirichlet(100, alpha = c(.3,.4,.3))
scatter3D(x ,y, z)
scatterplot3d(draw[,1:3])
正如您所看到的,我尝试了两种方式,使用两种不同的包。在第一个中,您可以在下面的图像中看到它们的y值似乎缺失,但我不确定为什么。
答案 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)
看起来像这样的情节:
实际上在2d-simplex上有点,如果你旋转它就可以看到它: