web-dev-qa-db-fra.com

Extraire le premier mot d'une colonne et l'insérer dans une nouvelle colonne

J'ai un cadre de données ci-dessous et je souhaite extraire le premier mot et l'insérer dans une nouvelle colonne

Dataframe1:

COL1
Nick K Jones
Dave G Barros
Matt H Smith

Convertissez-le en ceci:

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

Vous pouvez utiliser une expression régulière ("([A-Za-z]+)" ou "([[:alpha:]]+)" ou "(\\w+)") pour saisir le premier mot

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

Nous pouvons utiliser la fonction stringr::Word:

library(stringr)

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

La fonction strsplit peut être utile

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

Ensuite, vous pouvez également modifier le dernier numéro entre crochets pour sélectionner d'autres parties de la chaîne.

8
mattbawn