Evaluar la experiencia

ramas
yaml
ciencia reproducible
github
git
netlify
Autor/a

Miguel Equihua

Fecha de publicación

Xalapa, Ver., 16 de mayo, 2025

Te propongo que revises el cuestionario que sigue para que valores que tanto has logrado dominar las habilidades y temas que hemos estado discutiendo en el taller. Consideralo como una guía de verificación de tu avance y toma nota de los temas que se te han comolicado. Con esta información espero poder atender con más precisión las necesidades de asesoría que tengas. El formulario está abierto a que revises tus respuestas cada vez que lo desees, de modo que puedes regresar a él y cambiar tus respuestas conforme resuelvas tus dudas y superes los obstásculos. EL formulario está aquí.

 

Datos del grupo

Este formulario está generando datos que recojo en un documento Googlesheets. Para obtener los datos que se han registrado usaré la biblioteca googlesheets4. Esta biblioteca requiere autenticar al usuario, antes de poder usar las funciones de manejo de los datos. La función que autentifica es gs4_auth(), al ejecutarla se abrirá una página en el navegador de internet que te da instrucciones para que te reconozca el sistema en la máquina en la que estas trabajando.

muestra el escript:
pacman::p_load(googlesheets4, stringr, dplyr, tidyr, ggplot2, flextable)

# keyring::key_get(service = "google-sheets", "equihuam")

options(gargle_oauth_email = "equihuam@gmail.com", 
        gargle_oob_default = TRUE,
        gargle_oauth_client_type = "web")
gs4_auth()

url_gs <- "https://docs.google.com/spreadsheets/d/1O7jzCP3RD7IuOoF-wXrgFnhWLTB_3mhUQevyFhQjA3I/edit?resourcekey=&gid=1886023914#gid=1886023914"
datos_id <- str_extract(url_gs, "(?<=/d/)(.*?)(?=/edit)")

datos_eval <- read_sheet(datos_id) 

etiqueta <- "Datos de la encuesta" 

if (nrow(datos_eval)==0)
{ 
  datos_eval <- datos_eval |>  
  add_row(!!! setNames(rep(sample(1:5,27, replace = TRUE), each = 1), 
                       names(datos_eval))) |> 
  add_row(!!! setNames(rep(sample(1:5,27, replace = TRUE), each = 1), 
                       names(datos_eval))) |> 
  add_row(!!! setNames(rep(sample(1:5,27, replace = TRUE), each = 1), 
                       names(datos_eval))) |> 
  add_row(!!! setNames(rep(sample(1:5,27, replace = TRUE), each = 1), 
                       names(datos_eval)))
  
  etiqueta <- "Datos simulados"
}
   
preguntas <- data.frame(preg = c("tiempo", "email", names(datos_eval)[c(-1,-2)]))
preguntas$preg[1:2] <- c("[tiempo] Marca temporal", "[email] Dirección de correo electrónico")


preguntas <- preguntas |> 
  mutate(idBlq = str_extract(preg, "(?<=\\[)(.*?)(?=\\])"),
         preg  = str_remove(preguntas$preg, "\\[\\w*_*\\d*\\] "), .keep = "none") 

datos_eval <- datos_eval |> 
  setNames(preguntas$idBlq)

El registro de respuestas tiene datos de 8 personas que amablemente han contestado la encuesta de autovaloración.

muestra el escript:
promedios <- datos_eval |> 
  select(gral_1:git_4) |> 
  summarise(prom = across(gral_1:git_4, ~ mean(.x, na.rm = TRUE)),
            min = across(gral_1:git_4, ~ min(.x, na.rm = TRUE)),
            max = across(gral_1:git_4, ~ max(.x, na.rm = TRUE)))

 promedios <- tibble(var = preguntas$idBlq[-1:-2],
          prom = as.numeric(promedios$prom),
          min = as.numeric(promedios$min),
          max = as.numeric(promedios$max))

Habilidades generales y de Ciencia Abierta

Las preguntas contenidas en esta sección son las siguientes.

muestra el escript:
preguntas |> 
  filter(str_detect(idBlq, pattern = "gral")) |> 
  flextable(col_keys = c("idBlq", "preg")) |> 
  width(j = 1:2, width = c(0.5, 6))

idBlq

preg

gral_1

Estructurar mis documentos considerando la perspectiva de narrativa de datos:

gral_2

Defender mi propia opinión en relación con la crisis de la reproducibilidad:

gral_3

Crear un proyecto en RStudio que tenga a Quarto habilitado:

gral_4

Utilizar un blog como una bitácora de control de mi proyecto académico, que puedo compartir:

gral_5

Habilitar y manejar comentarios mediante http://hypothes.is/:

gral_6

Distinguir, buscar y utilizar apropiadamente datos abiertos y de acceso abierto:

gral_7

Organizar mi trabajo para producir y reportar resultados reproducibles:

gral_8

Generar reportes que compartan los datos y los algoritmos que usé para producirlo, con un ánimo de ciencia abierta:

gral_9

Cuidar de utilizar y defender valores de ciencia abierta en mi trabajo profesional:

muestra el escript:
promedios |> 
  filter(str_detect(var, pattern = "gral")) |> 
  ggplot(aes(x = var, y = prom)) +
    geom_segment(aes(x = var, xend = var, 
                     y = min, yend = max), color="blue") +
    geom_point(size=3, color="#69b3a2") +
    geom_point(size=3, color="#F6D289", aes(y=min)) +
    geom_point(size=3, color="#E6C8F3", aes(y=max)) +
    coord_flip() +
    theme_light() +
    theme(
      panel.grid.minor.y = element_blank(),
      panel.grid.major.y = element_blank(),
      axis.text = element_text( size=10 )) +
    scale_x_discrete(limits=rev) +
    ylab("Valoración") +
    xlab("") +
    labs(title = "Temas generales", subtitle = etiqueta) +
    ylim(c(1, 5))

Manejo de RStudio y Quarto

Las preguntas contenidas en esta sección son las siguientes.

muestra el escript:
preguntas |> 
  filter(str_detect(idBlq, pattern = "rstu")) |> 
  flextable(col_keys = c("idBlq", "preg")) |> 
  width(j = 1:2, width = c(0.5, 6))

idBlq

preg

rstu_1

Escribir mi texto con Markdown usando marcas de formato, ligas e ilustraciones:

rstu_2

Distinguir y manejar apropiadamente la sección de encabezado YAML de un documento (controlando las opciones y metadatos) y el resto del texto desarrollado con Markdown:

rstu_3

Editar apropiadamente los distintos tipos de archivos de mi proyecto (yaml, qmd, posts, etc):

rstu_4

Habilitar git en RStudio

rstu_5

Vincular mi proyecto con un "almacén" en la nube con Github:

rstu_6

Publicar continuamente mis documentos en la Web con ayuda de Netlify

rstu_7

Operar rutinariamente en RStudio con respaldo en Git: commit-pull-push:

rstu_8

Incluir en mi texto "trozos" de código (lectura de datos, análisis, graficación):

rstu_9

Usar referencias cruzadas en mi texto (figuras, cuadros, definiciones, etc.):

rstu_10

Anotar en mi texto citas bibliográficas e incluir la lista de literatura automáticamente:

rstu_11

Utilizar Markdown para producir textos en formato MS-Word o PDF como "artículo científico":

rstu_12

Producir documentos para "presentación web" con Reveal.JS:

muestra el escript:
promedios |> 
  filter(str_detect(var, pattern = "rstu")) |> 
  mutate(var = ordered(var, levels = c("rstu_1","rstu_2","rstu_3","rstu_4","rstu_5",
                                   "rstu_6","rstu_7","rstu_8","rstu_9","rstu_10",
                                   "rstu_11","rstu_12"))) |>   
  ggplot(aes(x = var, y = prom)) +
    geom_segment(aes(x = var, xend = var, 
                     y = min, yend = max), color="blue") +
    geom_point(size=3, color="#69b3a2") +
    geom_point(size=3, color="#F6D289", aes(y=min)) +
    geom_point(size=3, color="#E6C8F3", aes(y=max)) +
    coord_flip() +
    scale_x_discrete(limits=rev) +
    theme_light() +
    theme(
      panel.grid.minor.y = element_blank(),
      panel.grid.major.y = element_blank(),
      axis.text = element_text( size=10 )) +
    ylab("Valoración") +
    xlab("") +
    labs(title = "Manejo de RStudio y Markdown", subtitle = etiqueta) +
    ylim(c(1, 5))

Uso de Git

Las preguntas contenidas en esta sección son las siguientes.

muestra el escript:
preguntas |> 
  filter(str_detect(idBlq, pattern = "git")) |> 
  flextable(col_keys = c("idBlq", "preg")) |> 
  width(j = 1:2, width = c(0.5, 6))

idBlq

preg

git_1

Crear nuevas ramas para trabajar sin afectar la línea de producción de mi proyecto:

git_2

Recuperar estados previos de mi espacio de trabajo desde git:

git_3

Reunir una rama de git con la principal de producción:

git_4

Operar un "pull request" como medio de colaboración con respaldo en Github:

muestra el escript:
promedios |> 
  filter(str_detect(var,pattern = "git")) |> 
  ggplot(aes(x = var, y = prom)) +
    geom_segment(aes(x = var, xend = var, 
                     y = min, yend = max), color="blue") +
    geom_point(size=3, color="#69b3a2") +
    geom_point(size=3, color="#F6D289", aes(y=min)) +
    geom_point(size=3, color="#E6C8F3", aes(y=max)) +
    coord_flip() +
    scale_x_discrete(limits=rev) +
    theme_light() +
    theme(
      panel.grid.minor.y = element_blank(),
      panel.grid.major.y = element_blank(),
      axis.text = element_text( size=10 )) +
    ylab("Valoración") +
    xlab("") +
    labs(title = "Manejo de Git", subtitle = etiqueta) +
    ylim(c(1, 5))