У меня есть три набора биомедицинских данных (1 двоичная матрица, 1 непрерывная матрица и 1 дискретная матрица). Прямо сейчас я хочу нарисовать график распределения данных (либо дисперсию, либо медиану, либо среднее значение), включая три в одном рисунке, а затем вычислить асимметрию и значение P на основе теста Д'Агостино среди трех наборов данных. В частности, на каждой кривой распределения ось X указывает (либо дисперсию, либо среднее значение, либо медиану) генов, а ось Y указывает частоту или плотность генов в выборках.
Рисунок ниже аналогичен результат, который я хочу.
А вот и воспроизводимые наборы данных.
-df1:
df1 = structure(c(-0.056, -0.056, -0.056, -0.056, -0.056, -0.1388,
-0.1388, -0.1388, -0.1388, -0.1388, -0.0592, -0.0592, -0.0592,
-0.0592, -0.0592, -0.0646, -0.0646, -0.0646, -0.0646, -0.0646,
-0.1669, -0.1669, -0.1669, -0.1669, -0.1669), .Dim = c(5L, 5L
), .Dimnames = list(c("TCGA-4H-AAAK-01", "TCGA-5L-AAT0-01", "TCGA-5T-A9QA-01",
"TCGA-A1-A0SB-01", "TCGA-A1-A0SD-01"), c("TBC1D21", "FGF4", "KRTAP9-4",
"PSG11", "ADAM5")))
-df2:
df2 = structure(c(0L, 0L, 2L, 0L, 0L, 0L, 0L, 2L, 0L, 0L, 0L, 0L, 2L,
0L, 0L, 0L, 0L, 2L, 0L, 0L, 0L, 0L, 2L, 0L, 0L), .Dim = c(5L,
5L), .Dimnames = list(c("TCGA-4H-AAAK-01", "TCGA-5L-AAT0-01",
"TCGA-5T-A9QA-01", "TCGA-A1-A0SB-01", "TCGA-A1-A0SD-01"), c("GPR124",
"ERLIN2", "LOC728024", "PROSC", "KCNU1")))
-df 3:
df3 = structure(c(0L, 1L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 1L, 0L,
0L, 0L, 0L, 1L, 0L, 0L, 0L, 1L, 1L, 0L, 0L, 0L), .Dim = c(5L,
5L), .Dimnames = list(c("TCGA-4H-AAAK-01", "TCGA-5L-AAT0-01",
"TCGA-5T-A9QA-01", "TCGA-A1-A0SB-01", "TCGA-A1-A0SD-01"), c("PIK3CA",
"TP53", "TTN", "MUC16", "CDH1")))
Я активно искал в Интернете, но ничего не помогло моему wi sh. Любая помощь будет оценена. Заранее спасибо.
Первый шаг, который я думаю, это объединение моих трех наборов данных в один:
MYdata = do.call("rbind", list(t(df1), t(df2),t(df3)))
Затем я вычислю дисперсию трех наборов данных:
MYdata = var(MYdata)
Наконец, я должен построить их с помощью ggplot2 (я думаю), но это так сложно для нового пользователя R, такого как я.