У меня есть два кадра данных, один для SNP и один для генов.Как я могу найти все строки, соответствующие критериям, и возвращать соответствующие строки в R?
Для каждого гена, если позиция SNP находится в пределах размера окна, я хочу вернуть эту строку в фрейм данных. Затем я хочу найти корреляцию между этим конкретным SNP и этим геном, если он находится в окне. Я в настоящее время использую R.
Гены данных кадра:
Chr Start End sample1 sample2 sample3
10 100015109 100015443 2 1 1
10 100365832 100368960 1 0 2
10 100486970 100487277 2 1 0
ОНП кадр данных:
SNP CHROM POSITION sample1 sample2 sample3
rs3766180 1 1478153 1 1 2
rs7540231 1 1506035 2 2 0
rs2272908 1 1721479 1 1 2
rs10907187 1 1759054 0 1 2
У меня есть этот код до сих пор, но я не уверен, если я делая правильную итерацию. Я хочу итерации через гены и проверить, какие snps расположены в пределах размеров окна, и найти r-квадрат между этим snp и этим геном. Например, если позиция snp1 находится в начале и конце диапазона гена, выберите эту строку, а затем найдите r-квадрат между этими двумя строками. Я думаю, что мой цикл неправильный, и может быть более простой способ. Пожалуйста помоги.
snps <- as.matrix(read.table("snps.txt", header=T, sep="\t"))
genes <- as.matrix(read.table("genes.txt", header=T, sep="\t"))
#Set upper and lower bounds
size = 1000000
window_left = genes$cnvStart - size
window_right = genes$cnvEnd + size
snp_pos <- snps$POS
snp <- snps$ID
for (s in 1:nrow(snps)){
for(g in 1:nrow(genes)){
if (snp_pos >window_left & snp_pos < window_right){
corr.matrix2 <- (cor(t(s),t(g),use="pairwise.complete.obs", method="pearson"))
new_snps <- cbind(snp, snps[,-3])
}
}
}
Мой желаемый результат представляет собой таблицу значений r-квадратов для каждого выбранного сравнения snp-генов. Любые идеи были бы весьма признательны.
Спасибо, Нев
помочь, минимальный воспроизводимость примера с желаемым выходом помог бы мне понять, проблема. – user2673238
Хорошо, спасибо. Я редактировал сообщение. Надеюсь, это разъяснит, с чем я столкнулся. Пожалуйста, дайте мне знать, если все еще неясно. – Nev
Что вы ожидаете от «r-squared». Как вы думаете, что это значит? Я рекомендую вам ознакомиться с [wikipedia] (https://en.wikipedia.org/wiki/Coefficient_of_determination). Насколько велики ваши данные? – Llopis