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.

R/Shiny: Transponer y agregar datos al Dataframe

Estoy tratando de encontrar una forma de transponer datos y luego agregar esos datos a un marco de datos separado.

Tengo:

Columna 1 | Columna 2 | Columna 3


Dato 1 | Dato 2 | Dato 3

Y en un marco de datos separado tengo:

actualColumna1| actualColumna2


Columna 1 | otroDato 2
Columna 2 | otroDato 2
Columna 3 | otroDato 2

Y quiero obtener:

actualColumna1| actualColumna2|datosAgregados


Columna 1 | otroDato 2 | Dato 1
Columna 2 | otroDato 2 | Dato 2
Columna 3 | otroDato 2 | Dato 3

Dado que los nombres de las columnas del primer marco de datos corresponden perfectamente a las filas de actualColumna1. Lamento si no expliqué esto muy bien. Todavía soy nuevo en R/Shiny y en la manipulación de marcos de datos.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para lograr esto, puedes primero transponer el primer dataframe usando la función t(). Esto convertirá las filas en columnas y viceversa. Luego, puedes convertir el dataframe transpuesto en un nuevo dataframe con tres columnas – actualColumn1, actualColumn2 y addedData. Puedes lograr esto utilizando la función melt() del paquete reshape2. El código para lograr esto se vería algo así:

    library(reshape2)
    
    # Transponer el dataframe original
    df_transpose <- t(original_dataframe)
    
    # Convertir el dataframe transpuesto en un nuevo dataframe con tres columnas
    new_dataframe <- melt(df_transpose, varnames = c("actualColumn1", "addedData"), 
                          value.name = "actualColumn2")
    

    Esto debería darte la salida deseada donde los datos transpuestos del primer dataframe se agregan como una nueva columna en el segundo dataframe.

Comments are closed.