【发布时间】:2018-08-18 12:08:48
【问题描述】:
我有大量数据集,我正在对相关性进行探索性筛选。我想做一个相关性测试来识别显着相关的变量,然后将这些变量相互绘制。
data <- data.frame(a = 1:10, b = c(1.5*(1:9), 10), c = 2*(1:10), d = sample(1:5, 10, replace = T))
cor_data <- corr.test(data)
sig_cor <- ifelse(cor_data$p <0.05, cor_data$r, NA)
sig_cor_long <- sig_cor %>%
data.frame() %>%
mutate(var1 = rownames(sig_cor)) %>%
gather(var2, value = r, -var1) %>%
drop_na(r) %>%
filter(r != 1)
这将 a-b 和 b-c 对识别为显着相关,因此我想绘制它们。如何自动化从 sig_cor_long 中选择配对变量以通过数据中的 ggplot 进行绘图的过程?我想为每个相关对创建的示例图是:
ggplot(data, aes(a, b)) +
geom_smooth(method = 'lm')+
geom_point(shape = 21, color = 'darkblue', fill = 'white')
我希望有一个函数可以输入到 ggplot 中,告诉它绘制在 sig_cor_long 中标识的所有 var1 和 var2 对,其中原始数据在 data 中。
【问题讨论】:
-
自动化到底是什么意思?
-
我想自动选择要从数据中绘制的变量。因此,我将自动生成 a 与 b 和 b 与 c 的图表(对于真正的大型数据集,还有数百个)。