提取由R中的定界符分隔的特定模式

时间:2018-06-29 11:13:59

标签: r regex

我有一个数据框,其中的列包含字符串nf1[1,"Info"] <- "AC=1;AF=0.500;AN=2;BaseQRankSum=-1.026e+00;ClippingRankSum=-1.026e+00;DP=4;ExcessHet=3.0103;FS=0.000;MLEAC=1;MLEAF=0.500;MQ=28.25;MQRankSum=-1.026e+00;QD=10.18;ReadPosRankSum=1.03;SOR=0.693“。

我想将AF,DP,QD,FS的值提取到单独的列中。

我尝试了

library('splitstackshape')
cSplit(nf1[1,],"Info",";", "wide")

然后我可以将所需的列作为子集。我相信还有更好的选择。

1 个答案:

答案 0 :(得分:0)

我将在此处使用sub

sub(".*AF=(.*?)(?:;.*|$)", "\\1", x)
[1] "0.500"

您可以轻松修改以上内容以定位其他标签。

Demo