从列中提取数据以在R中创建另一个列

时间:2018-10-20 22:24:29

标签: r regex bioinformatics stringr

我有一个包含3个变量的数据框,我想将其分为4个变量。数据框如下所示:

<div>Hello</div><div></div><div>World</div>

从这个数据帧的Species_Name SIXTEENS_Title SIXTEENS_Sequence Daphnia magna LC382445.1 Daphnia magna mitochondrial TTCGGAGAAAAGGGGTAC... Daphnia magna KY694374.1 Daphnia magna mitochondrial TTCGGAGAAAAGGGGTAC... 下,我想提取SIXTEENS_Title之前的所有内容(字母数字LC382445.1,KY694374.1;但是有100多个观察值不同)。 / p>

我尝试使用Daphniastr_extract(),但似乎无法做到。我想使用登录号str_detect()在R中创建另一列。

1 个答案:

答案 0 :(得分:3)

您可以使用sub和正则表达式来完成此操作。

df = read.table(text="Species_Name    SIXTEENS_Title         SIXTEENS_Sequence
'Daphnia magna'   'LC382445.1 Daphnia magna mitochondrial'   'TTCGGAGAAAAGGGGTAC...'
'Daphnia magna'   'KY694374.1 Daphnia magna mitochondrial'   'TTCGGAGAAAAGGGGTAC...'",
header=T, stringsAsFactors=F)

sub("\\s*Daphnia.*", "", df$SIXTEENS_Title)
[1] "LC382445.1" "KY694374.1"