Как использовать функцию grep в R, чтобы найти корреляцию на основе имен образцов - PullRequest
0 голосов
/ 25 мая 2018

У меня есть два фрейма данных с информацией о генах.Оба этих фрейма данных имеют одинаковые размеры (20 000 строк х 50 столбцов).У меня есть другой файл с именем info, который содержит совпадающие имена субъектов между этими фреймами данных.Я хочу извлечь имена из файла (информация), чтобы найти коэффициент корреляции между соответствующими объектами.Вот пример этих файлов:

df1
gene_name    loc1  loc2 .........  loc50
gene1        1        23              25
gene2        24       15              67

df2
gene_name    loc1  loc2 .........  loc50
gene1        21       31              55
gene2        2       65              89

info file
subject     loc_in_df1   loc_in_df2
1                loc1          loc2
2                loc3          loc46   

1 Ответ

0 голосов
/ 25 мая 2018

попробуйте что-то вроде следующего

сначала создайте df с вашими столбцами, извлеченными из df1 и df2 в соответствии с информационным файлом

df <- cbind(df1[, info$loc_in_df1],df2[, info$loc_in_df2]) 

и

cor = apply(df, MARGIN = 1, FUN = function(x) return(cor.test(x[1:50], x[51:100])$estimate))

1:50 и 51: 100 предполагают, что у вас есть 50 пар в вашем информационном файле, но это всего лишь предположение, поскольку вы не предоставили воспроизводимый образец

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...