jvcasillas / glide_affiliation

Glide affiliation in chicano Spanish
1 stars 0 forks source link

Phase 2 data analysis #2

Open jvcasillas opened 1 year ago

jvcasillas commented 1 year ago

Hola @MiriamRG717. Tuve que arreglar un par de cosas (yikes), pero parece que ahora todo está en orden. Puedes trabajar en 21_analysis sin problemas y todos los datos deberían cargarse en un solo dataframe. Si tienes cualquier pregunta, puedes hacérmela aquí. 👍🏼

MiriamRG717 commented 12 months ago

-Me atasco con el paquete "ds4ling"... instalé los updates al RStudio y todavía no me funciona... quizás tengo una versión más nueva? no sé qué pasa... ><

Mi update:

"Find file 23 with 43 columns csv_files <- dir_ls(here("data", "phase_2"), regexp = ".csv") for (file in csv_files) { df <- read_csv(file) num_columns <- ncol(df) print(file) } " file with 43 columns = 5ec81ba6c71d2b0f9add5de5_ga_syllabified_check_2023-05-04_17h22.45.784 deleted column43 entitled "trials.order" with row 160 = "230" No cambié el archivo en el repositorio porque no sé si esta info es importante...

jvcasillas commented 6 months ago

@MiriamRG717 repo updated. Open rstudio project, pull changes from github, and use script 21_analysis.R. I left you a bunch of comments in the script.

MiriamRG717 commented 6 months ago

Perfect! Me pongo el viernes con esto

MiriamRG717 commented 6 months ago

ok, pregunta: el script 03_load_data.R todavía tengo que ejecutarlo o con estos cambios, ese no es relevante ahora? Acabo de hacer pull al script y me da error: Error: object 'syllabified_trip' not found, que entiendo que es la referencia al file...

Aprovecho para mandar el "push" para ir cogiendo práctica con esto :)

jvcasillas commented 6 months ago

ok, pregunta: el script 03_load_data.R todavía tengo que ejecutarlo o con estos cambios, ese no es relevante ahora?

Hola @MiriamRG717. No hace falta para lo que te toca. El mismo 21_analysis.R carga los datos nuevos.

Acabo de hacer pull al script y me da error: Error: object 'syllabified_trip' not found, que entiendo que es la referencia al file...

Aprovecho para mandar el "push" para ir cogiendo práctica con esto :)

Cuando dices que te da error, supongo que quieres decir al ejecutar el código y no al hacer pull (avisa si no es así). Tienes que modificar los nombres de las variables (e.g., syllabified_trip) con los nombres relevantes del nuevo dataframe (i.e., en el dataframe phase_2 la variable dependiente es response). ¿Tiene sentido? Si no, avisa y si hace falta quedamos otra vez y lo miramos juntos. 👍🏼

MiriamRG717 commented 6 months ago

Ya entiendo! Sí, el error es al ejecutar el código, no al hacer pull/push. Por alguna razón pensé que el dataframe iba a tener la misma forma con los mismos labels. Vuelvo a intentarlo 👍.

MiriamRG717 commented 6 months ago

Hola! aquí estoy de nuevo. Tengo una pregunta de logística de los datos: En el spreadsheet original, la variable dependiente "response" tiene tres niveles (triphthong, simplification, hiatus), pero el nuevo dataframe tiene el item original (la-ka-fuais-to).

Pensaba añadir una columna nueva para transformar estos datos (la-ka-fuais-to > triphthong) como estaba en la tabla de los datos anteriores. El modelo no me lee la columna "response" por el special character. Entiendo que esta nueva ronda de datos pedía que respondieran entre op1 = triphthong, opt2 = hiatus, opt 3 = simplification, ¿no?

Por otro lado, solo para clarificar, este dataframe no tiene la misma estructura que el original ( c('participant', 'exp', 'task', 'item', 'status', 'pre_c', 'pre_c_voicing', 'pre_c_poa', 'glide', 'response'). ¿Debería transformar la dataframe para añadir 'pre_c', 'pre_c_voicing', 'pre_c_poa' y 'glide'? porque el b_multi_1a y b_multi_1b pide la columna "glide" que no está en el dataframe de la phase2, no he mirado los demás modelos.

¡Ya me dices si tiene sentido esto!

jvcasillas commented 6 days ago
# Most common response of phase 2 participants
# by speaker and item (with response proportion at the end)
n_participants <- phase_2$id |> unique() |> length()

phase_2 |> 
  group_by(speaker_id, item) |> 
  count(response) |> 
  group_by(speaker_id, item) |> 
  slice(which.max(n)) |> 
  mutate(prop = n / n_participants) |>
  select(-n) |> 
  pivot_wider(
    names_from = speaker_id, 
    values_from = c("response", "prop")
  )

# Common response for each speaker for each item
phase_2 |> 
  distinct(speaker_id, item, common_response) |> 
  pivot_wider(
    names_from = speaker_id, 
    values_from = common_response
  )
jvcasillas commented 6 days ago

El primer trozo de código arriba te da las respuestas más comunes de los participantes de Prolific para cada item dicho por cada speaker (speaker_id), junto con la proporción (tb por speaker por item).

El segundo trozo de código te da la respuesta más común por speaker por item de la fase 1.

Lo que tenemos que hacer es averiguar una forma de poner toda esta información en una tabla.. o un gráfico.. algo que nos facilite entenderlo. Sigo pensando.