Concatenar dos columnas en R

Sheeraz Gul 21 junio 2023
  1. Utilice la función Pegar() para concatenar dos columnas en R
  2. Utilice la función Unir() de Tidyr para concatenar dos columnas en R
Concatenar dos columnas en R

A veces es necesario concatenar los valores de una columna con los valores de la otra columna; R tiene dos formas de concatenar las dos columnas. Este tutorial muestra dos formas de concatenar columnas de marcos de datos en R.

Utilice la función Pegar() para concatenar dos columnas en R

Paste() es una función incorporada de la base R que puede concatenar dos columnas en un marco de datos. Creará una nueva columna y combinará dos columnas pasadas como parámetros con un separador.

Ver ejemplo:

Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))

print('The dataframe before concatenating the columns:-')
Delftstack


#combine name and ID into one column
Delftstack$Id_Name <- paste(Delftstack$Id, Delftstack$Name, sep="_")


print('The dataframe after concatenating the columns:-')
Delftstack

El código anterior concatena las columnas Id y Name en la nueva columna Id_Name. Creamos una nueva columna y luego usamos la función pegar con nombres de columna y un separador para concatenar dos columnas.

El nombre de la columna se indica con datframe$columnname. Ver la salida:

[1] "The dataframe before concatenating the columns:-"
      Name LastName  Id     Designation
1     Jack  Danials 101             CEO
2     John     Cena 102 Project Manager
3     Mike Chandler 103      Senior Dev
4 Michelle   McCool 104      Junior Dev
5   Jhonny    Nitro 105          Intern

[1] "The dataframe after concatenating the columns:-"
      Name LastName  Id     Designation      Id_Name
1     Jack  Danials 101             CEO     101_Jack
2     John     Cena 102 Project Manager     102_John
3     Mike Chandler 103      Senior Dev     103_Mike
4 Michelle   McCool 104      Junior Dev 104_Michelle
5   Jhonny    Nitro 105          Intern   105_Jhonny

Si lo desea, puede eliminar las columnas anteriores después de la concatenación.

New_Delftstack <- Delftstack[c("Id_Name", "LastName", "Designation")]
print('The dataframe after concatenating the columns:-')
New_Delftstack

El código anterior eliminará las columnas anteriores y nos dará un nuevo marco de datos con una columna concatenada. Ver salida:

[1] "The dataframe after concatenating the columns:-"
       Id_Name LastName     Designation
1     101_Jack  Danials             CEO
2     102_John     Cena Project Manager
3     103_Mike Chandler      Senior Dev
4 104_Michelle   McCool      Junior Dev
5   105_Jhonny    Nitro          Intern

Utilice la función Unir() de Tidyr para concatenar dos columnas en R

El paquete tidyr en R tiene una función unite(), que puede concatenar dos columnas en R. Toma el marco de datos, el nuevo nombre de columna y las columnas concatenadas como parámetros.

Ver ejemplo:

library(tidyr)

Delftstack <- data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                         LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
                         Id=c(101, 102, 103, 104, 105),
                         Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))

print('The dataframe before concatenating the columns:-')
Delftstack


print('The dataframe after concatenating the columns:-')
unite(Delftstack, Id_Name, c(Id, Name))

El código anterior concatenará dos columnas y eliminará las columnas anteriores. Ver salida:

[1] "The dataframe before concatenating the columns:-"
      Name LastName  Id     Designation
1     Jack  Danials 101             CEO
2     John     Cena 102 Project Manager
3     Mike Chandler 103      Senior Dev
4 Michelle   McCool 104      Junior Dev
5   Jhonny    Nitro 105          Intern

[1] "The dataframe after concatenating the columns:-"
       Id_Name LastName     Designation
1     101_Jack  Danials             CEO
2     102_John     Cena Project Manager
3     103_Mike Chandler      Senior Dev
4 104_Michelle   McCool      Junior Dev
5   105_Jhonny    Nitro          Intern

Como podemos ver, unir() es más conveniente en el caso de eliminar las columnas.

Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Artículo relacionado - R Column