Die Modellmatrix hat nicht den vollen Rang: Dies ist eine klassische Frage, mit der ein Biologe konfrontiert ist, ohne das Modelldesign klar zu verstehen
Sah diese Antwort Biostar . Versucht, meine Metadaten als solche zu erstellen, aber immer noch die
"Error in checkFullRank(modelMatrix) : "
Das ist meine Coldata
dput(coldata)
structure(list(Group = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 4L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L,
6L, 6L, 6L, 6L), .Label = c("HSC", "Blast", "CMP", "GMP", "LSC",
"Mono"), class = "factor"), Mutation = structure(c(10L, 4L, 3L,
5L, 2L, 3L, 9L, 11L, 1L, 1L, 7L, 7L, 10L, 7L, 8L, 2L, 10L, 10L,
10L, 10L, 2L, 2L, 7L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L,
6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 6L, 2L, 2L, 5L, 2L,
9L, 1L, 1L, 8L, 6L, 6L, 6L, 6L, 6L, 6L), .Label = c("DNMT3A-R882H",
"FLT3-ITD", "IDH2-R140Q", "KRAS-G13D", "MAU2-Q98H", "No", "NPM1-L287ins(TCTG)",
"NRAS-G13D", "STAG2-R614", "TET2-E1357", "TET2-R550"), class = "factor"),
Satus = structure(c(2L, 5L, 4L, 6L, 3L, 4L, 9L, 10L, 1L,
1L, 7L, 7L, 2L, 7L, 8L, 3L, 2L, 2L, 2L, 2L, 3L, 3L, 7L, 16L,
16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L, 16L,
16L, 16L, 17L, 17L, 17L, 17L, 17L, 17L, 17L, 12L, 12L, 13L,
12L, 9L, 11L, 11L, 14L, 15L, 15L, 15L, 15L, 15L, 15L), .Label = c("Blast-DNMT3A-R882H",
"Blast-E1357", "Blast-FLT-ITD", "Blast-IDH2-R140Q", "Blast-KRAS-G13D",
"Blast-MAU2-Q98H", "Blast-NPM1-L287ins(TCTG)", "Blast-NRAS-G13D",
"Blast-STAG2-R614", "Blast-TET2-R550", "LSC-FLT-DNMT3A-R882H",
"LSC-FLT-ITD", "LSC-MAU2-Q98H", "LSC-NRAS-G13D", "Mature-Normal",
"Progenitor-Normal", "Stem-Normal"), class = "factor")), row.names = c("Blast1",
"Blast10", "Blast11", "Blast12", "Blast13", "Blast14", "Blast15",
"Blast16", "Blast17", "Blast18", "Blast19", "Blast20", "Blast2",
"Blast21", "Blast22", "Blast23", "Blast3", "Blast4", "Blast5",
"Blast6", "Blast7", "Blast8", "Blast9", "CMP1", "CMP2", "CMP3",
"CMP4", "CMP5", "CMP6", "CMP7", "CMP8", "GMP1", "GMP2", "GMP3",
"GMP4", "GMP5", "GMP6", "GMP7", "HSC1", "HSC2", "HSC3", "HSC4",
"HSC5", "HSC6", "HSC7", "LSC1", "LSC2", "LSC3", "LSC4", "LSC5",
"LSC6", "LSC7", "LSC8", "Mono1", "Mono2", "Mono3", "Mono4", "Mono5",
"Mono6"), class = "data.frame")
dds <- DESeqDataSetFromMatrix(countData=df2, colData=coldata, design= ~ Group + Mutation)
Dies ist das Design, das ich zu integrieren versuche. Was ich bekomme, ist, dass mein Design anhand zahlreicher Beispiele in einer der Spalten verschachtelt ist.
Was ich tun möchte, ist, dass ich versuche, einen LRT-Test für diesen Datensatz durchzuführen, der gut funktioniert, wenn ich " Group
" als mein Design gebe und dann diesen ausführe
dds_lrt <- DESeq(dds, test="LRT", reduced = ~ 1)
Das gibt mir Unterschiede, die in mehreren Gruppen zum Ausdruck kommen. Nun gibt es zwei Fragen
- Ist es möglich, Interaktionen wie in meinem Fall
Group+Mutation
einzubeziehen und den LRT-Test durchzuführen? - Oder ist das oben Gesagte konzeptionell falsch?
Antworten
> table(doldat$Group, coldat$Mutation)
DNMT3A-R882H FLT3-ITD IDH2-R140Q KRAS-G13D MAU2-Q98H No NPM1-L287ins(TCTG) NRAS-G13D STAG2-R614 TET2-E1357 TET2-R550
HSC 0 0 0 0 0 7 0 0 0 0 0
Blast 2 4 2 1 1 0 4 1 1 6 1
CMP 0 0 0 0 0 8 0 0 0 0 0
GMP 0 0 0 0 0 7 0 0 0 0 0
LSC 2 3 0 0 1 0 0 1 1 0 0
Mono 0 0 0 0 0 6 0 0 0 0 0
Schauen Sie sich diese Tabelle an, Sie sehen mit dem Auge, wie einige Mutationen mit Group verschachtelt sind. Wenn Sie es einschließen möchten, müssen Sie das Experiment in mehrere separate Läufe unterteilen, abhängig von der Frage, die Sie beantworten möchten.