首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多维缩放

多维缩放
EN

Stack Overflow用户
提问于 2011-07-07 23:25:03
回答 1查看 2.1K关注 0票数 2

我有5x14的数据矩阵。我在用MDS获取感知图。我可以正确地做MDS并得到结果。

但我的问题是,在MDS中,我们可以映射行或列变量。是否可以使用MDS同时映射行和列变量。

我使用的代码如下:

代码语言:javascript
复制
perp<-read.csv("E:\\Projects\\Combined_3.csv")
ads.dis<-dist(perp)
perp_mds <- cmdscale(ads.dis, k = 2,eig=TRUE)
x <- perp_mds$points[,1]
y <- perp_mds$points[,2]
plot(x,y, xlab = "Coordinate 1", ylab = "Coordinate 2", type = "n")
text(x,y, labels = rownames(perp))

如果有人能帮我写代码,我将不胜感激。

你好,Ari

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-08 04:45:14

一般来说,答案是否定的,而不是使用cmdscale()cmdscale()所知道的就是对象之间的差异。在素食包中,有一个函数capscale(),它是主坐标分析(PCoA,也称为MDS)的约束版本,但可以用于普通的PCoA。它可以将对象和变量放在一个类似双图的图形中:

代码语言:javascript
复制
require(vegan)
data(varespec)
mod <- capscale(varespec ~ 1)
plot(mod)

但请注意,具有欧几里德距离的PCoA与PCA相同,它也可以使用,并将自然地绘制对象和变量:

代码语言:javascript
复制
plot(rda(varespec))

或使用基R函数

代码语言:javascript
复制
mod2 <- prcomp(varespec)
biplot(mod2)

或者您指的是MDS的非公制版本?

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6613046

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档