Корреляция с ковариатой в R - PullRequest
1 голос
/ 13 июля 2020

У меня 2 файла. Файл 1 содержит экспрессию генов - 300 образцов (строк) и ~ 50 тыс. Генов (50 тыс. Столбцов), файл 2 - данные МРТ - те же 300 образцов и ~ 100 столбцов. Я хочу сопоставить данные GE с данными МРТ, контролирующими ковариант, который является статусом болезни (файл3, статус 0 или 1).

Я пытался использовать пакет ppcor, для 2 переменных он работал:

pcor.test(file1$gene1, file2$var1, file3$status, method="pearson")

, но я хочу запустить для всех переменных, поэтому я объединился в 1 файл, последние столбцы были статусом:

sapply(1:(ncol(test)-1), function(x) sapply(1:(ncol(test)-1), function(y) {
     if (x == y) 1
     else pcor.test(test[,x], test[,y], test[,ncol(test)])$estimate
 }))

, но была эта ошибка:

Error in solve.default(cvx) : 
  system is computationally singular: reciprocal condition number = 6.36939e-18 

Я делаете это правильно? Это хороший метод?

Спасибо за предложения и помощь Георг

File1
         gene1 gene2 gene3 ...  gene50,000
Sample1  12   300    70             4000
Sample2  25   100    53             4500
Sample3  70  30      71             2000
...
Sample300 18 200     97             1765

File2

        var1 var2 var3 ...  var100
Sample1  5   1    170             200
Sample2  7   3    153             100
Sample3  7  18    130             34
...
Sample300 18 54   197             71

File3-STATUS

        status
Sample1  1
Sample2  1
Sample3  0
...
Sample300 1
...