我用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个子集(如提供的子集),因此关联矩阵并不是一个真正的选择,我希望将主要的关联及其组成部分保持在一起。
答案 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_value
和correlation
分组的media
的列表。除了media
,您还可以使用medium.strain
。