macierz modelu nie ma pełnej rangi: jest to klasyczne pytanie, z którym boryka się biolog bez jasnego zrozumienia projektu modelu
Dec 18 2020
Widziałem tę odpowiedź biostar . Próbowałem utworzyć moje metadane jako takie, ale nadal
"Error in checkFullRank(modelMatrix) : "
To jest moja 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)
To jest projekt, który próbuję wprowadzić. Otrzymuję to, że mój projekt jest zagnieżdżony w jednej z kolumn, patrząc na liczne przykłady.
Co chciałbym zrobić, to próbuję uruchomić test LRT na tym zestawie danych, który działa dobrze, jeśli podam Group
jako projekt „ ”, a następnie uruchomię to
dds_lrt <- DESeq(dds, test="LRT", reduced = ~ 1)
co daje mi diffrenitaly wyrażone w wielu grupach. Teraz są dwa pytania
- Czy można uwzględnić interakcję taką jak w moim przypadku
Group+Mutation
i wykonać test lrt? - Czy powyższe jest koncepcyjnie błędne?
Odpowiedzi
3 ATpoint Dec 18 2020 at 18:24
> 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
Spójrz na tę tabelę, widzisz naocznie, jak niektóre mutacje są zagnieżdżone w Group. Jeśli chcesz to uwzględnić, musisz podzielić eksperyment na wiele oddzielnych serii, w zależności od pytania, na które chcesz odpowiedzieć.