Reformar DataFrame de formato largo a ancho en R

En este artículo, discutiremos cómo remodelar el marco de datos de formato largo a ancho en el lenguaje de programación R.

Los datos en el marco de datos se reconocen por el formato en el que ocurre el almacenamiento y la recuperación. Existen pares clave-valor duplicados en el marco de datos y se pueden reorganizar mediante los siguientes métodos.

Método 1: Usar el método remodelar()

El método de remodelación en R se usa para remodelar los datos agrupados. Está disponible en base R. El método básicamente remodela un marco de datos específico entre diferentes formatos, es decir, formato ‘ancho’ con medidas repetitivas realizadas en columnas separadas, así como formatos ‘largos’ con medidas repetitivas en filas separadas. 

Sintaxis: reformar (marco de datos, idvar = , timevar = , dirección = )

Parámetro: 

  • marco de datos: el marco de datos para remodelar
  • timevar : Indicador de la variable dada en formato largo que diferencia múltiples registros de un mismo grupo. 
  • idvar : Indicador de la(s) variable(s) en formato largo que identifican múltiples registros del mismo grupo. 
  • dirección: especifica si se representan los datos en formato «largo» o «ancho». 

La salida conserva los números de fila del marco de datos original. Los valores que faltan se agregan con un valor NA en el marco de datos. 

Ejemplo : remodelar el marco de datos de largo a ancho

R

# create first dataframe
data_frame1<-data.frame(col1=c(rep('Grp1',2),
                               rep('Grp2',2),
                               rep('Grp3',2)), 
                        col2=rep(1:3,2),
                        col3 = letters[1:6]
                        )
  
print("Original DataFrame")
print(data_frame1)
  
# reshaping the data
data_frame_mod <- reshape(data_frame1, idvar = "col1", 
                          timevar = "col2", direction = "wide")
  
print("Modified DataFrame")
print(data_frame_mod)

Producción:

[1] "Original DataFrame" 
  col1 col2 col3 
1 Grp1    1    a 
2 Grp1    2    b 
3 Grp2    3    c 
4 Grp2    1    d 
5 Grp3    2    e 
6 Grp3    3    f 
[1] "Modified DataFrame" 
  col1 col3.1 col3.2 col3.3 
1 Grp1      a      b   <NA> 
3 Grp2      d   <NA>      c 
5 Grp3   <NA>      e      f

Método 2: Usar el paquete tidyr

El paquete se puede descargar e instalar en el espacio de trabajo utilizando la siguiente sintaxis: 

install.packages("tidyr")

El método de propagación de este paquete se puede usar para remodelar los datos de formato largo a ancho en R. El método se usa para agregar una nueva columna para cada valor único de la columna clave. Este conjunto único de valores formará los nombres de las nuevas columnas.

Sintaxis:

spread (marco de datos, clave, valor)

Ejemplo : remodelar el marco de datos de largo a ancho

Python3

library("tidyr")
  
# create first dataframe
data_frame1 < -data.frame(col1=c(rep('Grp1', 2), rep('Grp2', 2), rep('Grp3', 2)),
                          col2=rep(1: 3, 2),
                          col3=letters[1:6]
                          )
print("Original DataFrame")
print(data_frame1)
  
# reshaping the data
data_frame_mod < -  spread(data_frame1,
                           key=col2,
                           value=col3)
print("Modified DataFrame")
print(data_frame_mod)

Producción:

 col1    1    2    3 
1 Grp1    a    b <NA> 
2 Grp2    d <NA>    c 
3 Grp3 <NA>    e    f

Publicación traducida automáticamente

Artículo escrito por yippeee25 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 *