У меня есть data.frame с 302 строками и 14 столбцами. Содержимое data.frame - это коэффициенты из 14 предыдущих регрессионных анализов, и я ищу способ построить весь data.frame так, чтобы коэффициенты были выделены оттенками красного и синего (отрицательные и положительные числа соответственно, 0 должны быть белым).
Имена строк и столбцов не должны отображаться на графике, а также фактические коэффициенты, но мне бы хотелось иметь возможность добавлять более толстые линии в определенные столбцы и строки. Элемент data.frame настроен так, что строки и столбцы сгруппированы теоретически, поэтому добавление строк вокруг этих группировок поможет подчеркнуть это.
Я уже пробовал с corrplot и ggplot. corrplot (df, is.corr = FALSE) дал мне кое-что, связанное с тем, что я хочу, но сюжет был длинным (из-за 302 строк). Если возможно, они (строки) должны автоматически регулировать свою высоту так, чтобы весь график был виден. Моя главная цель - прежде всего визуально изучить возможные образцы цветов.
Ниже приведен фрагмент моих данных.
ingen0 kommune3 kommune8 kommune9 diagnose1 diagnose2 diagnose7 diagnose12 diagose13 psyk5 psyk9 psyk10 krim4 krim6
abdominalomfang 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.002
adoption1 0.000 0.000 0.274 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
adoptions_anbr1 0.000 0.965 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.585
afsonforfods_mor1 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.017
afsonforfodsfarr1 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.183
agteskab_laengde_far 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.001 0.000 0.000 0.000 0.000 -0.008
agteskab_laengde_mor 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.002
akutkejsfoed1 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.127 0.000 0.000 0.000 0.000
alder_far -0.003 0.000 0.009 0.000 0.001 0.000 0.000 0.000 0.000 0.000 0.000 0.002 0.000 -0.001
alder_mor 0.000 0.000 0.004 0.000 0.000 -0.025 0.000 0.000 0.000 0.004 0.000 0.000 -0.007 -0.012
alm_lage_sysi_far -0.008 0.000 0.005 0.000 0.001 0.004 0.002 0.006 0.000 0.000 0.467 0.003 0.000 0.003
alm_lage_sysi_mor -0.007 0.000 0.009 0.003 0.000 0.006 0.003 0.006 -0.002 0.006 0.003 0.005 0.000 0.002
anbringelse1 -2.009 0.005 -1.696 -0.092 0.260 0.217 0.000 0.000 0.000 0.213 -0.092 -0.175 -0.392 0.169
anholdtforfods_far1 0.000 0.000 0.000 0.000 0.000 0.107 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.131
anholdtforfods_mor1 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 -0.214
antaldiag_far -0.006 0.000 0.019 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.051
antaldiag_mor 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
antdage_t_far 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
antdage_t_mor 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.001
apgarscore_efter5minutter 0.047 -0.091 -0.044 0.000 0.000 -0.027 0.000 -0.010 0.009 0.000 0.000 0.000 0.000 0.005
Следующее может быть использовано для воспроизведения corpplot. Мне не удалось создать что-либо успешное в ggplot.
A <- structure(list(ingen0 = c(0, 0, 0, 0, 0, 0, 0, 0, -0.003, 0,
-0.008, -0.007, -2.009, 0, 0, -0.006, 0, 0, 0, 0.047), kommune3 = c(0,
0, 0.965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.005, 0, 0, 0, 0, 0, 0,
-0.091), kommune8 = c(0, 0.274, 0, 0, 0, 0, 0, 0, 0.009, 0.004,
0.005, 0.009, -1.696, 0, 0, 0.019, 0, 0, 0, -0.044), kommune9 = c(0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.003, -0.092, 0, 0, 0, 0, 0, 0,
0), diagnose1 = c(0, 0, 0, 0, 0, 0, 0, 0, 0.001, 0, 0.001, 0,
0.26, 0, 0, 0, 0, 0, 0, 0), diagnose2 = c(0, 0, 0, 0, 0, 0, 0,
0, 0, -0.025, 0.004, 0.006, 0.217, 0.107, 0, 0, 0, 0, 0, -0.027
), diagnose7 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.002, 0.003,
0, 0, 0, 0, 0, 0, 0, 0), diagnose12 = c(0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0.006, 0.006, 0, 0, 0, 0, 0, 0, 0, -0.01), diagose13 = c(0,
0, 0, 0, 0, -0.001, 0, 0, 0, 0, 0, -0.002, 0, 0, 0, 0, 0, 0,
0, 0.009), psyk5 = c(0, 0, 0, 0, 0, 0, 0, -0.127, 0, 0.004, 0,
0.006, 0.213, 0, 0, 0, 0, 0, 0, 0), psyk9 = c(0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0.467, 0.003, -0.092, 0, 0, 0, 0, 0, 0, 0), psyk10 = c(0,
0, 0, 0, 0, 0, 0, 0, 0.002, 0, 0.003, 0.005, -0.175, 0, 0, 0,
0, 0, 0, 0), krim4 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, -0.007, 0,
0, -0.392, 0, 0, 0, 0, 0, 0, 0), krim6 = c(0.002, 0, 0.585, -0.017,
0.183, -0.008, -0.002, 0, -0.001, -0.012, 0.003, 0.002, 0.169,
0.131, -0.214, 0.051, 0, 0, 0.001, 0.005)), row.names = c("abdominalomfang",
"adoption1", "adoptions_anbr1", "afsonforfods_mor1", "afsonforfodsfarr1",
"agteskab_laengde_far", "agteskab_laengde_mor", "akutkejsfoed1",
"alder_far", "alder_mor", "alm_lage_sysi_far", "alm_lage_sysi_mor",
"anbringelse1", "anholdtforfods_far1", "anholdtforfods_mor1",
"antaldiag_far", "antaldiag_mor", "antdage_t_far", "antdage_t_mor",
"apgarscore_efter5minutter"), class = "data.frame")
library(corrplot)
corrplot(A, is.corr = FALSE)
Проблема с вышеупомянутым заключается в том, что упоминалось количество строк (302) в моем исходном файле data.frame - он переполнен, и у меня нет желаемых возможностей добавить строки fx - поэтому я ищу другие варианты.