Divida el marco de datos R grande en una lista de marcos de datos más pequeños

En este artículo, discutiremos cómo dividir un marco de datos R grande en listas de marcos de datos más pequeños. En el lenguaje de programación R tenemos una función llamada split() que se usa para dividir el marco de datos en partes.

Entonces, para hacer esto, primero creamos un ejemplo de un marco de datos que se necesita dividir.

Creando marco de datos:

R

# create the data frame
data <- data.frame(id = c("X", "Y", "Z", "X", "X",
                          "X", "Y", "Y", "Z", "X"), 
                   x1 = 11 : 20,
                   x2 = 110 : 110)
 
# print the dataframe
data

Producción:

Para dividir el marco de datos anterior, usamos la función split() . La sintaxis de la función split() es:

Sintaxis: split(x, f, drop = FALSO, …)

Parámetros:

  • x significa marco de datos y vector
  • f representa la agrupación de vectores o la selección de la columna según la cual dividimos el marco de datos
  • drop significa eliminar u omitir la fila especificada

Ejemplo 1: en este ejemplo, intentamos ejecutar la función de división sin ningún argumento, excepto el marco de datos anterior.

Cuando ejecutamos la función de división sin ningún argumento, excepto el marco de datos, notamos que la función de división devuelve la combinación de cada elemento de la columna 1 con las otras columnas. En nuestro caso, hay 3 elementos distintos en la columna 1 y un total de 10 filas en el marco de datos. Entonces, las filas totales como salida son 3 * 10 = 30 filas en nuestra salida.

R

# create the data frame
data <- data.frame(a1 = c("X", "Y", "Z", "X", "X",
                          "X", "Y", "Y", "Z", "X"), 
                   a2 = 11 : 20,
                   a3 = 110 : 110)
 
# split the dataframe using the
# split function
split_data <- split(data, f = data)   
 
# print the splitted data frame
split_data

Producción:

Nota: La captura de pantalla de salida anterior es 1/3 de la salida real, debido a la concisión.

Ejemplo 2: en este ejemplo, dividiremos el Dataframe agrupando con la ayuda de 1 columna.

Para ello utilizaremos el argumento “f” de la función de división y “$” se utiliza para seleccionar la columna según la cual vamos a dividir el Dataframe. En nuestro caso, vamos a dividir el marco de datos según la columna a1.

R

# create the data frame
data <- data.frame(a1 = c("X", "Y", "Z", "X", "X",
                          "X", "Y", "Y", "Z", "X"), 
                   a2 = 11 : 20,
                   a3 = 110 : 110)
 
# split the data frame by grouping using "f" argument
split_data <- split(data, f = data$a1)  
 
# print the split data
split_data

Producción: 

Ejemplo 3: en este ejemplo, dividiremos el Dataframe agrupando con la ayuda de 2 columnas.

Para hacer esto usaremos el argumento “f” de la función de división y “$” se usa para seleccionar las columnas y hacer una lista de las columnas según las cuales vamos a dividir el Dataframe. En nuestro caso, vamos a dividir el marco de datos según las columnas a1 y a2. Entonces, se crea una lista de a1 y a2 y esta lista se da como argumento para la «f».

R

# create the data frame
data <- data.frame(a1 = c("X", "Y", "Z", "X", "X",
                          "X", "Y", "Y", "Z", "X"), 
                    
                   a2 = c(1, 1, 1, 2, 2, 2,
                          1, 2, 1, 2),
                   a3 = 110 : 110)
# split the data frame by grouping using "f" argument
split_data <- split(data, f=list(data$a1, data$a2))  
 
# print the split data
split_data

Producción:

Publicación traducida automáticamente

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