gpt4 book ai didi

r - 提取与模式匹配的特定单词

转载 作者:行者123 更新时间:2023-12-02 09:11:53 27 4
gpt4 key购买 nike

我有一个带有列的数据框:

nf1$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

我正在尝试从此列中提取特定值。

例如我对“MQRankSum”感兴趣并且我使用了:

str_extract(nf1$Info,"[MQRankSum]+=[:punct:]+[0-9]+[.]+[0-9]+")

它返回BaseQRankSum的值,而不是MQRankSum

最佳答案

将字符包含在方括号中会创建与任何已定义字符匹配的字符类,因此 [yes]+匹配yyyyyyyyy , eyyyyss

你想要做的是匹配一个单词MQRankSum , = ,然后是 ; 以外的任何字符:

str_extract(nf1$Info,"MQRankSum=[^;]+")

如果你想排除MQRankSum=从匹配中,使用后视:

str_extract(nf1$Info,"(?<=MQRankSum=)[^;]+")
^^^^^^^^^^^^^^^

(?<=MQRankSum=)正向回顾将确保有 MQRankSum=紧邻当前位置左侧的文本,并且只有在此之后才会匹配除 ; 之外的 1 个或多个字符.

关于r - 提取与模式匹配的特定单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51132611/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com