【问题标题】:Calculating non-pairwise correlation between different sets of columns of a dataset计算数据集的不同列集之间的非成对相关性
【发布时间】:2021-03-15 09:39:08
【问题描述】:

假设计算数据集mtcars的相关性,我们可以使用corr <- round(cor(mtcars), 1),或者使用corrplot(cor(mtcars)计算并绘制相关矩阵。但是,产品是成对相关的。是否可以计算特定列集之间的非成对相关性,即列 1:3 (mpg, cyl, disp) VS 列 4:8 (hp, drat, wt, qsec, vs) 之间的 mtcars 相关性。

请提出任何方法。

我有一个包含 120 列的数据集。我想计算/绘制 1:50 列与其余列(即 51-120)的相关矩阵(Spearman correlate)。请告诉我解决方案,如果可能的话,使用cor,或包,即corrplotggcorrplot

感谢期待。

【问题讨论】:

  • 简单的解决方案是使用cor 计算所有相关性,然后将结果子集[1:50, -(1:50)]。如果数据非常大,这可能会出现问题

标签: r ggplot2 r-corrplot ggcorrplot


【解决方案1】:

你可以使用cor函数来做到这一点,只需要指定第二个参数。示例:

vertical_axis <- 1:3
horizontal_axis <- 4:8
corr <- cor(mtcars[, vertical_axis], mtcars[, horizontal_axis])
corrplot(corr)

结果:


注意:corrplot 函数与order 参数一起使用会产生错误或错误的绘图。如果您需要对变量重新排序(例如:使用hclust),请在将相关矩阵传递给corrplot 之前对其进行重新排序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-27
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-03
    相关资源
    最近更新 更多