Input$Freq
Freq
AFR:.,AMR:.,EAS:.,FIN:.,NFE:.,OTH:.,ASJ:.
AFR:0.1546,AMR:0.2581,EAS:0.0825,FIN:0.2270,NFE:0.0822,OTH:0.1706,ASJ:0.0729
AFR:.,AMR:.,EAS:.,FIN:.,NFE:.,OTH:.,ASJ:.
AFR:0.1546,AMR:0.2581,EAS:0.0825,FIN:0.2270,NFE:0.0822,OTH:0.1706,ASJ:0.0729
AFR:.,AMR:.,EAS:.,FIN:.,NFE:.,OTH:.,ASJ:.
AFR:.,AMR:.,EAS:.,FIN:.,NFE:.,OTH:.,ASJ:.
Here is a column of a dataframe, which contains string separated by comma and colon. I want to extract the dot or the number right after EAS:. I want an output like this
Output
Freq EAS
AFR:.,AMR:.,EAS:.,FIN:.,NFE:.,OTH:.,ASJ:. .
AFR:0.1546,AMR:0.2581,EAS:0.0825,FIN:0.2270,NFE:0.0822,OTH:0.1706,ASJ:0.0729 0.0825
AFR:.,AMR:.,EAS:.,FIN:.,NFE:.,OTH:.,ASJ:. .
AFR:0.1546,AMR:0.2581,EAS:0.0825,FIN:0.2270,NFE:0.0822,OTH:0.1706,ASJ:0.0729 0.0825
AFR:.,AMR:.,EAS:.,FIN:.,NFE:.,OTH:.,ASJ:. .
AFR:.,AMR:.,EAS:.,FIN:.,NFE:.,OTH:.,ASJ:. .
I've tried extract in tidyr
maf_snv_intervar <- extract(Input, Freq, into = 'EAS',
"^[^,]+,[^,]+,([^,]+),.*", remove = F, convert = T)
But I got an output like this
Output
Freq EAS
AFR:.,AMR:.,EAS:.,FIN:.,NFE:.,OTH:.,ASJ:. EAS:.
AFR:0.1546,AMR:0.2581,EAS:0.0825,FIN:0.2270,NFE:0.0822,OTH:0.1706,ASJ:0.0729 EAS:0.0825
AFR:.,AMR:.,EAS:.,FIN:.,NFE:.,OTH:.,ASJ:. EAS:.
AFR:0.1546,AMR:0.2581,EAS:0.0825,FIN:0.2270,NFE:0.0822,OTH:0.1706,ASJ:0.0729 EAS:0.0825
AFR:.,AMR:.,EAS:.,FIN:.,NFE:.,OTH:.,ASJ:. EAS:.
AFR:.,AMR:.,EAS:.,FIN:.,NFE:.,OTH:.,ASJ:. EAS:.
I dont know how to modify the regex.