Я ищу подмножество набора данных гена, выбирая гены на основе их класса машинного обучения (метки 0-2) и их идентификатора loci / rssnp.
Мои данные выглядят так:
Chr Start End rssnp1 Type gene ML.prediction
1 1244733 1244734 rs2286773 LD_SNP ACE 0
1 1257536 1257436 rs333333 LD_SNP CPEB4 1
1 1252336 1252336 rs2286773 Sentinel CPEB4 2
1 1252343 1252343 rs333333 LD_SNP CPEB4 0
1 1254841 1254841 rs333333 LD_SNP BRCA2 3
1 1256703 1267404 rs444444 LD_SNP HER2 0
1 1269246 1269246 rs301159 LD_SNP CPEB4 1
1 1370168 1370168 rs301159 LD_SNP GLUT2 0
1 1371824 1371824 r4444444 LD_SNP GLUPA1 1
1 1372591 1372591 rs111111 LD_SNP GLUPA1 1
1 1372591 1372591 rs111111 LD_SNP GLUPA2 1
1 1372591 1372591 rs111111 LD_SNP GLUPA3 1
Мой вывод будет выглядеть так:
Chr Start End rssnp1 Type gene ML.prediction
1 1244733 1244734 rs2286773 LD_SNP ACE 0
1 1252336 1252336 rs2286773 Sentinel CPEB4 2
1 1257536 1257436 rs333333 LD_SNP CPEB4 1
1 1252343 1252343 rs333333 LD_SNP CPEB4 0
1 1254841 1254841 rs333333 LD_SNP BRCA2 3
1 1269246 1269246 rs301159 LD_SNP CPEB4 1
1 1370168 1370168 rs301159 LD_SNP GLUT2 0
1 1256703 1267404 rs444444 LD_SNP HER2 0
1 1371824 1371824 r4444444 LD_SNP GLUPA1 1
Таким образом, он только выбирает гены с прогнозом 0, а затем выбирает окружающие гены этого гена на основе соответствующего rssnp1.
Я пытался использовать lapply () и order, но я начинающий и изо всех сил стараюсь сделать что-нибудь, что вообще работает, поэтому любое руководство о том, какие функции я должен использовать или как установить мои условия в lapply (), будет оценены.
В настоящее время я работаю, получаю все rssnp1 для каждого гена с прогнозом 0 в excel, а затем упорядочиваю свой файл с помощью
order <- df[order(match(df$rssnp1, target_order)),]
Целевой порядок - это ввод вручную сотен идентификаторов rssnp1, но есть ли способ быстрее, чем этот?