У меня 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