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.

¿Cómo calcular repetitivamente sumas de grupos de columnas y almacenarlos como columnas nuevas en R?

Me gustaría calcular la suma de varias columnas agrupadas en mi conjunto de datos y almacenar esas sumas como nuevas columnas, pero no sé cómo codificar esto en lenguaje R.

Configuración:
100 participantes jugaron un videojuego y evaluaron varios aspectos utilizando cuestionarios estandarizados. Los datos están en formato amplio, por lo que tengo 100 filas (una por participante) y un cierto número de columnas relacionadas con cada aspecto del videojuego que fue evaluado.

Para mostrar cómo se ve mi conjunto de datos, se muestra una versión simplificada en esta imagen: enlace.

Detalles:
Debido a que el cuestionario contiene tres subescalas distintas, necesito sumar las calificaciones individuales de todos los participantes para cada subescala (destacadas en verde, amarillo y azul en la imagen). Las sumas de cada subescala deben agregarse como una nueva columna (resultando en sumas para tres subescalas). Esto se ilustra con las columnas rojas en la imagen.

No sé cómo codificar esto de manera eficiente en lenguaje R. ¿Alguien podría proporcionar algunas indicaciones?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para calcular las sumas de varias columnas agrupadas en R, puedes utilizar el paquete dplyr.

    Primero, carga el paquete dplyr y lee tu conjunto de datos utilizando la función read.csv.

    library(dplyr)
    mydata <- read.csv("myfile.csv")
    

    A continuación, utiliza la función group_by para agrupar tu conjunto de datos por las columnas de subescala y luego utiliza la función mutate para crear nuevas columnas para la suma de cada subescala.

    mydata <- mydata %>%
      group_by(Subescala1, Subescala2, Subescala3) %>%
      mutate(Suma1 = sum(Columna1, Columna2),
             Suma2 = sum(Columna3, Columna4),
             Suma3 = sum(Columna5, Columna6, Columna7))
    

    En este ejemplo, Subescala1, Subescala2 y Subescala3 son las columnas que contienen la información de las subescalas, Columna1 y Columna2 son las columnas que se sumarán para obtener la primera suma (Suma1), Columna3 y Columna4 se sumarán para obtener la segunda suma (Suma2), y Columna5, Columna6 y Columna7 se sumarán para obtener la tercera suma (Suma3).

    El conjunto de datos resultante mydata contendrá las columnas originales, así como tres nuevas columnas para las sumas de las subescalas.

Comments are closed.