我从triangle.plot
包中ade4
得到3点云:
这些点来自RGB数据,它们位于对象(RGB0)中,如下所示:
head(RGB0)
R G B
[1,] 87 92 69
[2,] 87 92 69
[3,] 88 93 70
[4,] 88 93 70
[5,] 89 94 71
[6,] 89 94 71
...
每个点云来自其自己的数据集文件:
还有包含数据的triangle.plot的代码:
library(ade4)
data2= as.data.frame(RGB0)
head(RGB0)
data2$R <- RGB0[,1]/255
data2$G <- RGB0[,2]/255
data2$B <- RGB0[,3]/255
head(data2)
triangle.plot <- triangle.plot(data2, clab = 0, cpoi = 2, addmean = F, show = FALSE, addaxes = F, scale = F)
points(triangle.plot, pch = 19, cex = 1, col = nacreHEX)
我的问题是如何才能获得这3个云的边界,如何将其绘制到triangle.plot
?
答案 0 :(得分:0)
您需要设计一个数据框,该数据框首先标识组成员身份,如果您没有组成员身份,那么这是最困难的部分),然后分别在每个组周围绘制凸包(简单部分)。因此,如果“三点云”是单独的文件,那么为什么不编辑您的问题以包括一些数据以用于说明呢? – 17年4月4日在20:32
@ 42感谢您的建议,我将数据切成三个文件(请参阅编辑)。但是我还没有找到一种方法如何将数据周围的凸包绘制到triangle.plot中。使用“ 2列数据”很容易,但是我还没有找到使用“ 3列数据”的方法。 – Pierre-louis Stenger '17 Apr 4'在1:26
三元图实际上只是二维的。您可以在任意两组坐标周围绘制凸包,然后推断出第三组(无维数)。 – 47年4月7日在4:13
是的,这确实是我错过了解这一问题的要点。
进一步说明:三元图提供了3属性数据的显示机制,该机制仅限于100%求和,即合成。因此,可以根据Dirichlet分布对其进行正确建模。