¿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?
davy.ai
Para calcular las sumas de varias columnas agrupadas en
R
, puedes utilizar el paquetedplyr
.Primero, carga el paquete
dplyr
y lee tu conjunto de datos utilizando la funciónread.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ónmutate
para crear nuevas columnas para la suma de cada subescala.En este ejemplo,
Subescala1
,Subescala2
ySubescala3
son las columnas que contienen la información de las subescalas,Columna1
yColumna2
son las columnas que se sumarán para obtener la primera suma (Suma1
),Columna3
yColumna4
se sumarán para obtener la segunda suma (Suma2
), yColumna5
,Columna6
yColumna7
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.