Очень новое для R и кодирование в целом, поэтому с некоторыми серьезными проблемами! У меня есть dataframe, содержащий 1 887 181 запись из GWAS. Я пытаюсь использовать пакет qqman для создания манхэттенского сюжета. Проблема, с которой я сталкиваюсь, заключается в том, что данные, которые мне нужны для создания столбца BP, задаются в смешанном строчном формате с номером хромосомы в столбце идентификатора. Для верхних ассоциированных SNP (из которых всего 45 записей) я использую as.numeric_version(), чтобы извлечь числовую часть из столбца идентификатора, которая работает, но определенно является неправильным способом обойти ее, поскольку она дает следующее сообщение об ошибке, но по-прежнему выдает правильные значения:Извлечение числовых значений из столбца смешанных переменных в R
BP<-as.numeric_version(PDLS_top_mp$CHR)
Error: invalid version specification ‘2R_19509740_SNP’,
‘2R_19509741_SNP’, ‘2R_15116838_SNP’, ‘3R_10159602_SNP’,
‘2L_2855787_INS’, ‘X_11169099_SNP’, ‘2L_2855805_SNP’,
‘3R_19567990_SNP’, ‘2R_19751690_SNP’, ‘2L_17155446_INS’,
‘3R_4610617_SNP’, ‘3L_1114964_SNP’, ‘2L_17155370_SNP’,
‘3L_3548725_SNP’, ‘2R_16873693_SNP’, ‘2R_15527873_SNP’,
‘3L_3548727_SNP’, ‘2L_2855816_SNP’, ‘3R_19576606_SNP’,
‘3L_11508729_DEL’, ‘2L_17155422_SNP’, ‘3R_22503130_INS’,
‘3R_4610630_SNP’, ‘2R_12331096_SNP’, ‘3R_8777795_SNP’,
‘3L_10615500_SNP’, ‘X_17577589_SNP’, ‘X_17577622_SNP’,
‘2L_7047925_SNP’, ‘2L_7047917_SNP’, ‘3R_9564478_SNP’, ‘3R_9590636_SNP’,
‘3R_3614137_SNP’, ‘2R_4682340_INS’, ‘3L_6056407_SNP’,
‘3L_11503648_SNP’, ‘3R_9580772_SNP’, ‘2L_18252469_SNP’,
‘2L_7047939_SNP’, ‘3R_25530801_DEL’, ‘3L_1111454_SNP’,
‘2L_17324557_SNP’, ‘3L_9799858_SNP�
Я попытался установить регулярное выражение и заменить значения, используя следующие, также не работает:
regexp<-"_[[:digit:]]_+"
s<-str_extract(PDLS_top_mp$ID,regexp)
View(s)
Error in View : 'names' attribute [2] must be the same length as the vector [1]
СОС. numeric_version() не работает для очень большого фрейма данных, содержащего все связанные SNP, он просто возвращает NA для каждой записи. Вот то, что все связанные с ним кадр SNP данных выглядит следующим образом:
print(head(PDLS_ALL_dtf))
# A tibble: 6 × 3
ID SinglePval SingleMixedPval
<chr> <dbl> <dbl>
2L_5372_SNP 0.6712 7.328082
2L_5390_SNP 0.8176 8.459388
2L_5403_SNP 0.9967 8.304397
2L_5465_SNP 0.7897 6.187142
2L_5516_SNP 0.4967 5.223919
2L_5598_SNP 0.7099 5.169412
Я хотел бы, чтобы в конечном итоге, как это: (где есть 5 различных идентификаторов хромосом, X, 2L, 2R, 3L, 3R и 4 все в вышеуказанный формат)
ID BP SinglePval SingleMixedPval
<chr> <num> <dbl> <dbl>
1 2L 5372 0.6712 7.328082
2 2L 5390 0.8176 8.459388
3 2L 5403 0.9967 8.304397
4 2L 5465 0.7897 6.187142
5 2L 5516 0.4967 5.223919
6 2L 5598 0.7099 5.169412
Любая помощь была бы ВЕЛИКОЙ оценкой!
Большое спасибо, что именно Я искал! –