Расчетная матрица для анализа ребра R?

Я хотел бы сравнить метод Q с методом L, и я рассмотрел 2 разных контраста (в конце), но я не уверен, какой из них является правильным?

Существует 2 различных метода (Q и L), и у каждого есть 2 биологических копии (L4,L6-L8 и Q3,Q5-Q7) и 2 технические реплики из каждого биологического экземпляра. как показано ниже:

дизайн

                    biological_replicate   method
 L4_rep1                              L4       L
 L4_rep2                              L4       L
 L6_L8_rep1                        L6_L8       L
 L6_L8_rep2                        L6_L8       L
 Q3_rep1                              Q3       Q
 Q3_rep2                              Q3       Q
 Q5_Q7_rep1                        Q5_Q7       Q
 Q5_Q7_rep2                        Q5_Q7       Q                       

design$biological_replicate <- factor(design$biological_replicate, levels =  c("L4","L6_L8", "Q3", "Q5_Q7"))

design$method <- factor(design$method, levels = c("L", "Q"))

Group <- factor(paste(design$biological_replicate,design$method,sep="."))

design<- cbind(design,Group)

                    biological_replicate method   Group
L4_rep1                              L4      L    L4.L
L4_rep2                              L4      L    L4.L
L6_L8_rep1                        L6_L8      L L6_L8.L
L6_L8_rep2                        L6_L8      L L6_L8.L
Q3_rep1                              Q3      Q    Q3.Q
Q3_rep2                              Q3      Q    Q3.Q
Q5_Q7_rep1                        Q5_Q7      Q Q5_Q7.Q
Q5_Q7_rep2                        Q5_Q7      Q Q5_Q7.Q

design.matrix <- model.matrix(~0+Group,design)

colnames(design.matrix) <- levels(Group)

design.matrix

L4.L L6_L8.L Q3.Q Q5_Q7.Q
L4_rep1       1       0    0       0
L4_rep2       1       0    0       0
L6_L8_rep1    0       1    0       0
L6_L8_rep2    0       1    0       0
Q3_rep1       0       0    1       0
Q3_rep2       0       0    1       0
Q5_Q7_rep1    0       0    0       1
Q5_Q7_rep2    0       0    0       1
attr(,"assign")
[1] 1 1 1 1
attr(,"contrasts")
attr(,"contrasts")$Group
[1] "contr.treatment"

my.contrasts_1 <- makeContrasts(QvsL = (Q3.Q+Q5_Q7.Q)/2-(L4.L+L6_L8.L)/2, levels = design.matrix)

my.contrasts_2 <- makeContrasts(QvsL = (Q3.Q+Q5_Q7.Q)-(L4.L+L6_L8.L), levels = design.matrix)

1 ответ

Решение

Прежде всего, технические повторы должны быть суммированы для анализа дифференциальных выражений. Вы просто складываете оба счета вместе.

После того, как вы подвели технические реплики, ваши данные должны выглядеть следующим образом:

Sample <- c("L4", "L6_L8", "Q3", "Q5_Q7")
Method <- c("L", "L", "Q", "Q")
df <- data.frame(Sample, Method)

  Sample Method
1     L4      L
2  L6_L8      L
3     Q3      Q
4  Q5_Q7      Q

Проектирование матрицы теперь просто:

design.matrix <- model.matrix(~0 + Method)
colnames(design.matrix) <- c("L","Q")
  MethodL MethodQ
1       1       0
2       1       0
3       0       1
4       0       1

Контраст также становится простым для генерации:

my_contrast <- makeContrasts(L-Q, levels = design.matrix)

Contrasts
Levels L - Q
     L     1
     Q    -1

Это не является частью вашего вопроса, но у вас есть абсолютное минимальное количество биологических повторов, если предположить, что приведенная выше таблица отражает ваши фактические данные. Не рассматривайте технические копии как биологические. Вы увеличите свою ошибку типа 1.

Другие вопросы по тегам