从列中提取第一个单词并插入到新列中

Extract first word from a column and insert into new column

我下面有一个数据框,想提取第一个单词并将其插入到新列中

Dataframe1:

COL1
Nick K Jones
Dave G Barros
Matt H Smith

将其转换为:

Dataframe2:
COL1              COL2
Nick K Jones      Nick
Dave G Barros     Dave
Matt H Smith      Matt

您可以使用正则表达式("([A-Za-z]+)""([[:alpha:]]+)""(\w+)")来获取第一个词

Dataframe1$COL2 <- gsub("([A-Za-z]+).*", "\1", Dataframe1$COL1)

函数strsplit可能有用

Dataframe1$COL2 <- strsplit(Dataframe1$COL1, " ")[[1]][1]

然后您也可以将最后一个括号中的数字更改为 select 字符串中的其他部分。

我们可以使用函数stringr::word:

library(stringr)

Dataframe1$COL2 <- word(Dataframe2$COL1, 1)