es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Dividiendo un dataframe en varios dataframes más pequeños con un número igual de columnas.

Si tengo un dataframe en R:

dim(df)
[1] 9 705936

y quiero dividirlo en 28 partes dividiendo por columnas, y aún así mantener las nueve filas en cada dataframe más pequeño cuando termine. ¿Cómo lo hago? Porque he logrado arruinar esto de todas las formas que he intentado y estoy completamente frustrado. Parece que esto debería ser un comando de una sola línea, pero no puedo lograrlo.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para dividir un dataframe df en 28 partes por columnas, manteniendo las nueve filas en cada uno de los dataframes más pequeños, puedes utilizar la función split.default junto con la función rep.

    Aquí tienes un ejemplo de código:

    # Crear un dataframe de prueba con fines de demostración
    df <- data.frame(matrix(rnorm(9*705936), ncol = 705936))
    
    # Dividir el dataframe en 28 partes
    split_df <- split.default(df, rep(1:28, each = ncol(df)/28))
    
    # Verificar las dimensiones de los dataframes divididos
    lapply(split_df, dim)
    

    La función rep crea un vector que especifica los índices de columna para cada dataframe dividido. Utilizamos la función split.default para dividir el dataframe df según el vector creado por rep, lo que resulta en una lista de 28 dataframes.

    Finalmente, utilizamos lapply para recorrer la lista de dataframes divididos y verificar sus dimensiones para confirmar que cada dataframe más pequeño tenga nueve filas.

Comments are closed.