计算数据集不同列集之间的非成对相关性
Calculating non-pairwise correlation between different sets of columns of a dataset
假设要计算数据集 mtcars
的相关性,我们可以使用 corr <- round(cor(mtcars), 1)
,或者使用 corrplot(cor(mtcars)
计算并绘制相关矩阵。但是,乘积是成对相关的。是否可以计算特定列集之间的非成对相关性,即在 mtcars 中,列之间的相关性 1:3 (mpg, cyl, disp
) VS 列 4:8 (hp, drat, wt, qsec, vs)
.
请提出任何方法。
我有一个包含 120 列的数据集。我想 calculate/plot 列 1:50 的相关矩阵(Spearman 相关)与其余列(即 51-120)。请告诉我解决方案,如果可能的话,使用 cor
或软件包,即 corrplot
、ggcorrplot
.
感谢期待。
你可以使用cor
函数来做到这一点,只需要指定第二个参数。示例:
vertical_axis <- 1:3
horizontal_axis <- 4:8
corr <- cor(mtcars[, vertical_axis], mtcars[, horizontal_axis])
corrplot(corr)
结果:
注意: 使用带有 order
参数的 corrplot
函数将产生错误或错误的绘图。如果您需要重新排序变量(例如:使用 hclust
),请在将相关矩阵传递给 corrplot
.
之前对其重新排序
假设要计算数据集 mtcars
的相关性,我们可以使用 corr <- round(cor(mtcars), 1)
,或者使用 corrplot(cor(mtcars)
计算并绘制相关矩阵。但是,乘积是成对相关的。是否可以计算特定列集之间的非成对相关性,即在 mtcars 中,列之间的相关性 1:3 (mpg, cyl, disp
) VS 列 4:8 (hp, drat, wt, qsec, vs)
.
请提出任何方法。
我有一个包含 120 列的数据集。我想 calculate/plot 列 1:50 的相关矩阵(Spearman 相关)与其余列(即 51-120)。请告诉我解决方案,如果可能的话,使用 cor
或软件包,即 corrplot
、ggcorrplot
.
感谢期待。
你可以使用cor
函数来做到这一点,只需要指定第二个参数。示例:
vertical_axis <- 1:3
horizontal_axis <- 4:8
corr <- cor(mtcars[, vertical_axis], mtcars[, horizontal_axis])
corrplot(corr)
结果:
注意: 使用带有 order
参数的 corrplot
函数将产生错误或错误的绘图。如果您需要重新排序变量(例如:使用 hclust
),请在将相关矩阵传递给 corrplot
.