是否有R函数导出相关矩阵中显示的相关性?

时间:2019-04-09 09:08:41

标签: r correlation performanceanalytics ggpairs

我用ggpairs创建了一个相关矩阵,我的数据按因子分组。但是我无法提取所呈现的相关性(我对每个因素对整体相关性的贡献及其重要性很感兴趣)

我使用ggpairs和PerformanceAnalytics创建了一个相关矩阵。 我还尝试计算每个因子的相关性以及p值(这里没有运气)。

@Override
    public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
        if (view.getParent() != null && view.getParent().getTag().equals(START_DATE_PICKER_TAG)) {
            calendarStartDate.set(Calendar.YEAR, year);
            calendarStartDate.set(Calendar.MONTH, month);
            calendarStartDate.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            start_date_btn.setText(dayOfMonth + "/" + (month + 1) + "/" + year);
        } else {
            calendarEndDate.set(Calendar.YEAR, year);
            calendarEndDate.set(Calendar.MONTH, month);
            calendarEndDate.set(Calendar.DAY_OF_MONTH, dayOfMonth);
            end_date_btn.setText(dayOfMonth + "/" + (month + 1) + "/" + year);
        }
    }

我也尝试计算相关性和p值,但对于p值,我的循环停在第一个矩阵上

ggpairs(s1[,4:12], aes(colour = s1$media), title = "1308", upper=list(
continuous=wrap("cor", size = 2.3)))

chart.Correlation(s1[,4:6], histogram=TRUE, pch=19,cex.labels=0.3, method = "s")

可以找到数据的子集here

我想像ggpairs一样可视化我的数据,但要有意义(如chart.Correlation)。有没有办法提取上半部分的内容?

由于我还有其他10个子集(如提供的子集),因此关联矩阵并不是一个真正的选择,我希望将主要的关联及其组成部分保持在一起。

1 个答案:

答案 0 :(得分:1)

尝试这个


data_list <- split(s1, s1$media)
p_value <- lapply(data_list, function(x) corrplot::cor.mtest(x[, 4:12])[["p"]])
correlation <- lapply(data_list, function(x) cor(x[, 4:12], method = "spearman"))

这将为您提供p_valuecorrelation分组的media的列表。除了media,您还可以使用medium.strain