Решение проблемы, как проверить на дисперсию в массовых данных последовательности РНК - PullRequest
0 голосов
/ 27 января 2020

У меня есть некоторые данные секвенирования РНК, для которых мне нужно провести тестирование значимости дифференциальной экспрессии. У меня есть два условия, WT и KO, с двумя репликами в каждом, давая мне фрейм данных, который выглядит следующим образом (столбцы в счетчиках):

       WT1   WT2   KO1   KO2
 gene1 1.3   1.23  3.42  3.45
 gene2 2.6   2.54  1.22  1.21
 gene3 5.54  2.32  1.21  1.10 

Мои вопросы, как мне получить столбец справа с p-значением для каждого гена, чтобы я мог построить график данных вулкана? По сути, какой статистический тест мне нужно использовать для генерации этого столбца, и какую функцию я использую в R для этого? Я извиняюсь, если технически это не вопрос, который я должен задать здесь, но, честно говоря, я не знал, где еще разместить. Заранее спасибо!

1 Ответ

0 голосов
/ 30 января 2020

на всякий случай, если кто-то в конечном итоге заботится об этом вопросе, и я не просто кричу в эфир (как обычно), я понял это. В основном, для такого рода данных мне нужно использовать либо односторонний тест ANOVA, либо двусторонний t-тест, который в итоге оказывается одним и тем же (по крайней мере, в этом случае). Я решил go с функцией t.test () в R, так как это немного легче понять (по крайней мере, если вы не очень знакомы со статистикой в ​​R). Обычно функция t.test выдает сводку, которая выглядит следующим образом:

 Welch Two Sample t-test

 data:  bulk_data[1, 1:2] and bulk_data[1, 3:4]
 t = -0.93364, df = 1.1978, p-value = 0.5002
 alternative hypothesis: true difference in means is not equal to 0
 95 percent confidence interval:
  -0.3807992  0.3068266
 sample estimates:
  mean of x  mean of y 
 0.09525708 0.13224335 

Мне нужно было удалить объект p-значения и добавить его в пятый столбец фрейма данных, поэтому я использовал это l oop:

  for (i in 1:nrow(bulk_data)) {
   t <- t.test(x = bulk_data[i, 1:2], y = bulk_data[i, 3:4], alternative = "two.sided")
   bulk_data[i, 5] <- t$p.value
  }

Это дало мне очень хороший список значений p в пятом столбце.

...