Возникли проблемы с 3D-графиком Дирихле

Я пытаюсь создать трехмерный график случайного розыгрыша из распределения Дирихле, но кажется, что он построен только в двух измерениях, хотя у меня есть данные для трех переменных.

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

Как видите, я пробовал двумя способами, используя два разных пакета. Во-первых, вы можете видеть на изображении ниже, что они y-значения, кажется, отсутствуют, но я не уверен, почему. введите описание изображения здесь

Когда я пытаюсь использовать другой пакет, не только отсутствуют значения y, но и два других значения отображаются так, как будто они находятся на линии под углом 45 градусов, что неверно. Любая помощь приветствуется! введите описание изображения здесь


person tlev    schedule 17.10.2016    source источник


Ответы (1)


Y-значения не отсутствуют. В вашем случае распределение Дирихле порядка 3 будет иметь точки, которые лежат на двумерном симплексе (т.е. на двумерной плоскости), поскольку сумма координат каждой точки должна равняться 1. (График в формате PDF на страница Википедии может быть полезна, чтобы увидеть это.)

На вашем втором графике точки на самом деле не находятся на линии под углом 45 градусов (они просто выглядят так). Интерактивный 3D-график из пакета rgl может быть полезен, чтобы увидеть это.

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

Сюжет, который выглядит так:

введите описание изображения здесь

на самом деле имеет точки на 2d-симплексе, которые вы можете увидеть, если повернете его:

введите описание изображения здесь

person Weihuang Wong    schedule 18.10.2016
comment
Спасибо @Weghuang Wong! - person tlev; 18.10.2016