R 从多维尺度解释相关图
假设在r中生成一个图,如下所示:R 从多维尺度解释相关图,r,R,假设在r中生成一个图,如下所示: res.cor <- cor(mtcars, method = "spearman") mds.cor <- (1 - res.cor) %>% cmdscale() %>% as_tibble() colnames(mds.cor) <- c("Dim.1", "Dim.2") ggscatter(mds.cor, x = "Dim.1", y = "Dim.2", size = 1,
res.cor <- cor(mtcars, method = "spearman")
mds.cor <- (1 - res.cor) %>%
cmdscale() %>%
as_tibble()
colnames(mds.cor) <- c("Dim.1", "Dim.2")
ggscatter(mds.cor, x = "Dim.1", y = "Dim.2",
size = 1,
label = colnames(res.cor),
repel = TRUE)
res.cor%
作为_tible()
colnames(mds.cor)我认为,这不是一个很好的衡量/找出相关性的方法。
我想你一定知道相关性的范围是-1到+1
其中,-1为两个变量之间的负相关,0为无相关,1为正相关
许多统计学家说,<±0.7表示有很强的相关性
因此,当您在对数据集的相关性进行评估时,最好选择数值,如果您评估的是两个变量,则散点图也是最好的洞察方法。我猜您使用的是来自MASS
的cmdscale(可能下次应该包括它),因此在原始mtcar矩阵中,您计算了每个变量之间的成对相关性
如果我们查看该矩阵的子集来解释它:
cor(mtcars)[c("hp","carb","mpg","am"),c("hp","carb","mpg","am")]
hp carb mpg am
hp 1.0000000 0.74981247 -0.7761684 -0.24320426
carb 0.7498125 1.00000000 -0.5509251 0.05753435
mpg -0.7761684 -0.55092507 1.0000000 0.59983243
am -0.2432043 0.05753435 0.5998324 1.00000000
您可以看到,与mpg和am相比,hp与carb的关联性更强,反之亦然,am和mpg的关联性更强,而hp和carb的关联性更强。捕捉这种差异的一种方法是进行降维,比如将所有这些变量放在一个2D地图上,可以捕捉这种差异,这就是MDS在绘图中所做的
如何解释它,最直接的观察是,你有两组变量,它们彼此非常相似。一组是hp、carb。。(在绘图的左侧)和am,mpg,drat。。(在右边)。另一种方式是:
plot(hclust(as.dist(1-cor(mtcars))))