web-dev-qa-db-ja.com

列から最初のWordを抽出し、新しい列に挿入します

下にデータフレームがあり、最初のWordを抽出して新しい列に挿入したい

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
16
Nick

正規表現("([A-Za-z]+)"または"([[:alpha:]]+)" or "(\\w+)")を使用して、最初のWordを取得できます。

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

関数stringr::Wordを使用できます:

library(stringr)

Dataframe1$COL2 <- Word(Dataframe2$COL1, 1)
18
Colibri

関数strsplitは便利です

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

次に、最後の角括弧番号を変更して、文字列から他の部分を選択することもできます。

8
mattbawn