From b46de2b6764cfcaf67e7b74e41b836b27522a29c Mon Sep 17 00:00:00 2001 From: mcnanton <42379883+mcnanton@users.noreply.github.com> Date: Tue, 24 Sep 2024 20:42:42 -0300 Subject: [PATCH] Fix(join): agrupo por ORCID y me quedo con el mayor valor para cada E en un summarise para evitar duplicaciones por variabilidad en registro de nombres --- R/evaluaciones_cohorte.R | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/R/evaluaciones_cohorte.R b/R/evaluaciones_cohorte.R index cc6e577..09c9a7d 100644 --- a/R/evaluaciones_cohorte.R +++ b/R/evaluaciones_cohorte.R @@ -85,7 +85,7 @@ procesar_forms <- function() { # Eliminar los registros duplicados para la misma persona en el mismo encuentro # (si respondieron más de una vez) Eval <- Eval %>% - distinct(orcid, email, evaluacion, .keep_all = TRUE) + distinct(orcid, email, evaluacion, .keep_all = TRUE) # Generar planilla con las personas en Eval que no están presentes en datos_inscripcion # usando ORCID e email. @@ -101,6 +101,19 @@ procesar_forms <- function() { names_from = evaluacion, values_from = n, values_fill = list(n = 0)) %>% + group_by(orcid) %>% + summarise( + apellido = first(apellido), + nombre = first(nombre), + email = first(email), + E1 = max(E1), + E2 = max(E2), + E3 = max(E3), + E4 = max(E4), + E5 = max(E5) + ) %>% + ungroup() %>% + distinct(.keep_all = TRUE) %>% rowwise() %>% mutate(forms_completados = sum(c_across(matches("E\\d"))))