Ejercicio 5: data-massage ancho vs largo

El objetivo del ejercicio 5 es familiarizarse con una de las partes más aburridas del data-massage, el llevar los datos de un formato a otro, sólo para poder hacer tal o cual análisis.

Vamos a trabajar con unos datos en formao SPSS, en formato ancho, y la ideas es convertilos a formato largo, ya verán para qué.

En un segundo caso, tomaremos unos datos en formato largo, y los convertiremos en formato ancho para poder calcular correlaciones.

Empezamos

Vamos a trabajar con 2 archivos de datos; descárguenlos aquí: archivo participantes1.sav, animales.csv.

Datos anchos

Los datos provienen de un estudio enmarcado en el programa de investigación estudiantil PAIE, liderado por Valentina Paz y un grupo de estudiantes de grado e investigadores del CIBPsi, bajo la supervisión de Victoria Gradin. El estudio consistía en un hacer jugar a los participantes al juego del ultimátum. En este juego, una persona le ofrece al participante para compartir una determinada suma de dinero. La clave del asunto es que las ofertas pueden ser “justas” (del estilo $5 para ti, $5 para mi), “injustas” ($9 para mi, $1 para ti), o “medias” ($7 para mi, $3 para ti). Para trabajar en este ejemplo, vamos a ver las respuestas emocionales de los participantes ante cada tipo de oferta. Trabajaremos con la emoción “enojo”, es decir, con las respuestas de los participantes, en una escala del 0 al 10, de qué tan enojados se sintieron ante ofertas justas, medias, e injustas.

  1. Cargar los contenidos del archivo participante1.sav, en un data frame que se llame parts.

El data frame obtenido es muy grande, por eso nos vamos a detener en algunas pocas variables. A saber:

parts2=parts[,c("codigo","sexo","edad","Beck","Feedback_Justas_Enojo","Feedback_Injustas_Enojo","Feedback_Medias_Enojo")]
str(parts2)
  1. Pasar el data frame al formato largo. Llamar a la variable categórica nueva “tipo_oferta”, y a la numérica “enojo”. Llamarle a ese data frame “parts3”.

  2. Nombrar los niveles de la variable “tipo_oferta”: “justas”, “injustas”, “medias”.

  3. Yapa: ejecutar lo siguiente. Intentar averiguar qué hace. Prestar atención al ñoqui ~.

modelo1=lm(enojo~tipo_oferta,data=parts3)
summary(modelo1)
anova(modelo1)
  1. Moldear el data frame derretido al formato original.

Datos largos

Estos datos están tomados de la Norma de Producción de Rasgos Semánticos para el español rioplatense, de Vivas et al., 2016. A un buen número de hablantes nativos del español rioplatense, se les pidió que indicaran qué rasgos semánticos tiene cada palabra, para un total de 400 palabras. Aquí tenemos un resumen de palabras, todos nombres de animales, y algunos de los rasgos semánticos más relevantes.

Empecemos

  1. Cargar los datos del archivo “animales.csv” en un data frame llamado “animales”.
  2. Eliminar la primera columna “X.1” del data frame.
  3. Nombrar la (ahora) primera columna “X” del data frame como “nombre”.
  4. Llevar el data frame al formato ancho, con una fila por nombre, una columna por cada rasgo semántico. Nombrar a ese data frame “animales2”.
  5. Llevar el data frame al formato ancho, con una fila por rasgo, una columna por cada nombre. Nombrar a ese data frame “animales3”.
  6. Yapa: puedo calcular la correlación entre animales o rasgos semánticos usando los data frames anchos.
cor(animales2[,-1]) # Correlaciones entre todos los rasgos semánticos
cor(animales3[,-1]) # Correlaciones entre todos los animales

En este link se pueden encontrar las soluciones