¿Cómo fusionar tramas de datos basadas en varias columnas en R?

En este artículo, discutiremos cómo fusionar marcos de datos basados ​​en varias columnas en el lenguaje de programación R.

Podemos fusionar dos marcos de datos basados ​​en múltiples columnas usando la función merge()

Sintaxis :

fusionar (marco de datos1, marco de datos2, by.x=c(‘columna1’, ‘columna2’………..,’columna n’), by.y=c(‘columna1’, ‘columna2’……….., ‘columna n’))

dónde

  • dataframe1 es el primer marco de datos
  • dataframe2 es el segundo marco de datos
  • by.x representa las primeras columnas del marco de datos
  • by.y representa las columnas del segundo marco de datos

Vamos a crear dos marcos de datos y mostrar

Ejemplo : programa R para crear dos marcos de datos con 4 columnas de datos de estudiantes

R

# create dataframe1
data1 = data.frame(name=c("manoj", "manoja", "saroja", "ramya"),
                   subjects=c("java", "c/cpp", "python", "R"),
                   city=c("ponnur", "tenali", "hyd", "guntur"),
                   marks=c(89, 90, 78, 89))
  
# create dataframe2
data2 = data.frame(name=c("manoj", "sravya", "saroja", "pavani"),
                   subjects=c("java", "c/html", "python", "php/css"),
                   city=c("ponnur", "hyd", "hyd", "guntur"),
                   marks=c(89, 78, 78, 81))
  
# display
print(data1)
print(data2)

Salida :

Ejemplo 1: combinar marcos de datos en 2 columnas

R

# create dataframe1
data1 = data.frame(name=c("manoj", "manoja", "saroja", "ramya"),
                   subjects=c("java", "c/cpp", "python", "R"),
                   city=c("ponnur", "tenali", "hyd", "guntur"),
                   marks=c(89, 90, 78, 89))
  
# create dataframe2
data2 = data.frame(student=c("manoj", "sravya", "saroja", "pavani"),
                   subjects=c("java", "c/html", "python", "php/css"),
                   city=c("ponnur", "hyd", "hyd", "guntur"),
                   exams=c(89, 78, 78, 81))
  
# merge dataframes based on name and subjects from data1
# with student and subjects from data2
merge(data1, data2, by.x=c('name', 'subjects'),
      by.y=c('student', 'subjects'))

Salida :

Ejemplo 2: combine los marcos de datos en función de tres columnas.

R

# create dataframe1
data1 = data.frame(name=c("manoj", "manoja", "saroja", "ramya"),
                   subjects=c("java", "c/cpp", "python", "R"),
                   city=c("ponnur", "tenali", "hyd", "guntur"),
                   marks=c(89, 90, 78, 89))
  
# create dataframe2
data2 = data.frame(student=c("manoj", "sravya", "saroja", "pavani"),
                   subjects=c("java", "c/html", "python", "php/css"),
                   city=c("ponnur", "hyd", "hyd", "guntur"),
                   exams=c(89, 78, 78, 81))
  
# merge dataframes based on name,city and subjects from data1
# with student,city and subjects from data2
merge(data1, data2, by.x=c('name', 'subjects', 'city'),
      by.y=c('student', 'subjects', 'city'))

Salida :

Publicación traducida automáticamente

Artículo escrito por manojkumarreddymallidi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *