逼迫学习2:用R语言cmdscale()+plot()+text()函数完成多维尺度分析

原创 数据小兵  2019-06-04 09:15  阅读 919 次
视频课程《SPSS统计分析:从入门到实践提高》

我最近开了一个知识星球,美名其曰【数据小兵成长计划】,每周或每月发布具体的学习计划,在星球内立帖为证,以学习成果为标志结束计划,学习过程如果遇到疑问,可以在星球内提问寻求帮助,直到完成。

我把它称之为【逼迫学习模式】。

有星友问我,进入星球后要干什么?我告诉ta现在什么也不用做,先看着,看别人如何逼迫自己完成当下的学习计划,不敢说每天进步一点点,但一周内学习一个知识点应该没什么问题,至于未来你要成长到什么高度,未来再说,我们先做好当下的学习任务。

以下是我的第2个学习计划以及完成情况。

学习计划 MyPlan2

主题:学习使用R语言完成常见多维尺度分析

时间:5.19-5.26周内完成。

完成计划 MyPlan2

用一个最经典的MDS案例来提交学习任务。已知美国10个城市两两之间的飞行距离,现在要用一张空间感知图来模拟10个城市的相对地理位置。

用stats包中cmdscale函数执行度量型MDS

mds1 <- cmdscale(UScitiesD,k=2)

此时我们得到10个城市在二维空间的坐标点,开始制作散点图

plot(mds1,type = 'n')

散点图添加文字标签

text(mds1[,1], mds1[,2],rownames(mds1), cex = 1)

发现城市坐标的分布方向相反了,调整坐标方向,便于阅读

plot(-mds1[,1],-mds1[,2],type = 'n') text(-mds1[,1], -mds1[,2],rownames(mds1), cex = 1)

空间感知的散点图见图1

 

10个城市真实的地理位置见图2 大家可以对照图1和图2,

看看每个城市的相对位置,通过飞行距离模拟得到的空间位置和真实的空间位置十分相近。

本次学习计划,除熟悉经典度量型MDS之外,还包括非度量型MDS,目前仅粗略熟悉R代码将原始数据转换至欧式距离空间,并通过散点图形式进行空间感知的可视化展示,对于如何通过应力系数来评估拟合质量目前仍未掌握,有待进一步深入学习。

与SPSS相比,R语言在MDS方面没有太大优势,尤其是对于初中阶用户来说这一点更加凸显。

SPSS可完整输出感知图,应力系数、拟合检验图等,同时功能应用也较为丰富,如果要用R替代SPSS来完成MDS的话,需要掌握多个不同R包中的函数,而且要求有综合R编程能力。

欢迎数据分析小白加入我的知识星球,一起学习成长。

本文地址:http://www.datasoldier.net/archives/1224
版权声明:本文为原创文章,版权归 数据小兵 所有,欢迎分享本文,转载请保留出处!
SPSS在线视频学习
欢迎订阅SPSS训练营微信公众号

评论已关闭!