I have some data which looks like:
NMUN
1 Cubo de Tierra del Vino, El
2 Peraleja, La
3 Franco, El
4 Pont de Vilomara i Rocafort, El
5 Gabias, Las
6 Adrada, La
7 Bola, A
8 Fayos, Los
9 Recuenco, El
What I am trying to do is to move everything after the last comma to the beginning of the place.
Expected output:
NMUN
El Cubo de Tierra del Vino
La Peraleja
El Franco
El Pont de Vilomara i Rocafort
Las Gabias
Data
data = structure(list(NMUN = c("Cubo de Tierra del Vino, El", "Peraleja, La",
"Franco, El", "Pont de Vilomara i Rocafort, El", "Gabias, Las",
"Adrada, La", "Bola, A", "Fayos, Los", "Recuenco, El", "Pobra do Brollón, A",
"Viso de San Juan, El", "Viso del Alcor, El", "Granjuela, La",
"Bòrdes, Es", "Guingueta d'Àneu, La", "Villares, Los", "Grove, O",
"Losar del Barco, El", "Iglesuela, La", "Vall de Bianya, La")), row.names = c(NA,
-20L), class = "data.frame")
CodePudding user response:
Using gsub
and a bit of regex you could do:
data$NMUN <- gsub("^(.*),\\s(.*)$", "\\2 \\1", data$NMUN)
data
#> NMUN
#> 1 El Cubo de Tierra del Vino
#> 2 La Peraleja
#> 3 El Franco
#> 4 El Pont de Vilomara i Rocafort
#> 5 Las Gabias
#> 6 La Adrada
#> 7 A Bola
#> 8 Los Fayos
#> 9 El Recuenco
#> 10 A Pobra do Brollón
#> 11 El Viso de San Juan
#> 12 El Viso del Alcor
#> 13 La Granjuela
#> 14 Es Bòrdes
#> 15 La Guingueta d'Àneu
#> 16 Los Villares
#> 17 O Grove
#> 18 El Losar del Barco
#> 19 La Iglesuela
#> 20 La Vall de Bianya
CodePudding user response:
Here is an alternative approach:
library(dplyr)
library(tidyr)
data %>%
separate(NMUN, c("NMUN", "a"), sep = ",") %>%
unite(NMUN, c(a, NMUN), sep = " ")
NMUN
1 El Cubo de Tierra del Vino
2 La Peraleja
3 El Franco
4 El Pont de Vilomara i Rocafort
5 Las Gabias
6 La Adrada
7 A Bola
8 Los Fayos
9 El Recuenco
10 A Pobra do Brollón
11 El Viso de San Juan
12 El Viso del Alcor
13 La Granjuela
14 Es Bòrdes
15 La Guingueta d'Àneu
16 Los Villares
17 O Grove
18 El Losar del Barco
19 La Iglesuela
20 La Vall de Bianya