从列中提取数据以在 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"
我有一个包含 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"