Я хочу генерировать графики между переменными (столбцами), которые имеют корреляцию выше и ниже определенной точки, а также имеют значение pvalue < 0,01. Графами будут графы ggplot2 (строка или бар), отображающие два столбца (переменные), которые коррелируют.
Вот суть моего подхода до сих пор, с некоторыми фиктивными данными, мне бы понравился указатель на то, куда идти дальше.
# Create some dummy data
df <- data.frame(sample(1:50), sample(1:50), sample(1:50), sample(1:50))
colnames(df) <- c("var1", "var2", "var3", "var4")
# Find correlations in the dummy data
df.cor <- cor(df)
# Make up some random pvalues for this example
x <- 0:1000
df.cor.pvals <- data.frame(sample(x/1000, 4), sample(x/1000, 4), sample(x/1000, 4), sample(x/1000,4))
colnames(df.cor.pvals) <- c("var1", "var2", "var3", "var4")
# Find the significant correlations
df.cor.extreme <- ((df.cor < -0.01 | df.cor > 0.01) & df.cor.pvals < 0.5)
# Ready data to for plotting
df$rownames <- rownames(df)
df.melt <- melt(df, id="rownames")
# I want to plot the combinations of variables that have a TRUE value
# in the df.cor.extreme matrix
Ниже приведен пример hardcoded, если var1 и var2 имеют значение TRUE. Я предполагаю, что здесь мне нужен какой-то цикл для генерации нескольких графиков, где varA и varB коррелируются.
ggplot(df.melt[(df.melt$variable=="var1" | df.melt$variable=="var2"),], aes(x=rownames, y=value, group=variable, colour=variable)) +
geom_line()