R语言三元相图的做法

通常情况下,对于三维数据,我们会用三维图表来展示,想要从三维图表上观察出一定的规律,需要一定的空间想象力;

而三元相图,其实就是用二维平面的1个等边三角形来表征三维数据,三角形的每一条边对应1个维度,将三维的数据映射到二维平面上,观察起来更加的直观

R语言的vcd 包中提供了 ternaryplot函数,可以方便的进行三元相图的绘制

代码示例:

# x y z
# A1 1 8 5
# A2 2 9 8
# A3 3 1 7

# 假设有3个样本,对应x,y,z 3个维度的值,

# 将这批数据用矩阵 x 保存

## plot

ternaryplot(x)

效果图如下:

从图中可以看到三角形的三个顶点分别对应x,y, z 三个维度,对于从每个点到对边的垂线,这条垂线上标记刻度,

要注意对于每个维度的值,都进行了归一化,归一化到0-1的范围,所以刻度线上都标记的是0.2, 0.4, 0.6, 0.8

红色的点每个点代表1个样本,那么样本点的位置是如何确定的呢

这是从百度文库找到的解释:通过做平行线的方式,唯一确定1个点的位置

 

 那么从三元相图上我们能够看出什么结果?

对应每一个样本点,可以看出其三个维度的比例;

对于多个样本而言,我们可以看到样本的相似性和差异性,在三个维度上组成接近的样本,其位置必然也是相近的

通过挑选合适的三个维度,我们也能得到类似排序分析的结果,能看出样本大概的一个分类情况;


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值