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

Extract data from a column to create another column in R

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

Species_Name    SIXTEENS_Title                           SIXTEENS_Sequence
Daphnia magna   LC382445.1 Daphnia magna mitochondrial   TTCGGAGAAAAGGGGTAC...
Daphnia magna   KY694374.1 Daphnia magna mitochondrial   TTCGGAGAAAAGGGGTAC...

从这个数据框中,在 SIXTEENS_Title 下,我想提取 Daphnia 之前的所有内容(字母数字 LC382445.1,KY694374.1 ;但有超过 100 个不同数字的观察结果) .

我尝试过使用 str_extract()str_detect(),但我似乎做不到。我想使用登录号 (LC382445.1) 在 R 中创建另一列。

您可以使用 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"