Guía Completa y Corregida: De Cero a Héroe con Posit Cloud y GitHub 🚀

Esta es la guía definitiva que puedes compartir con tus estudiantes. Incluye todas las lecciones aprendidas y el flujo de trabajo correcto.

Parte 1: Preparación en GitHub

1. Generar un Token de Acceso Personal (PAT) Seguro 🔑

Un PAT es tu contraseña para interactuar con GitHub desde aplicaciones externas.

  1. Inicia sesión en GitHub.
  2. Ve a Settings (desde tu foto de perfil) > Developer settings (al final del menú izquierdo).
  3. Haz clic en Personal access tokens > Tokens (classic).
  4. Selecciona Generate new token (y elige la opción “classic”).
  5. Nota: Dale un nombre claro, como Posit Cloud API.
  6. Expiración: Elige 90 días. Recibirás un email antes de que caduque.
  7. Permisos (Scopes): Activa la casilla principal repo. Esto es suficiente para todo lo que necesitamos.
  8. Haz clic en Generate token.
  9. ¡ACCIÓN CRÍTICA! Copia el token (ej: ghp_...) inmediatamente. Guárdalo en un lugar seguro y temporal. No volverás a verlo.

2. Crear el Repositorio en GitHub

  1. En GitHub, crea un nuevo repositorio llamado analisis-precipitacion-v2.
  2. Hazlo Público.
  3. MUY IMPORTANTE: Marca las siguientes casillas:
    • Add a README file.
    • Add .gitignore y elige la plantilla R de la lista.
  4. Haz clic en Create repository.

Parte 2: Configuración del Proyecto en Posit Cloud

1. Clonar el Repositorio

  1. En tu nuevo repositorio de GitHub, haz clic en el botón verde <> Code y copia la URL HTTPS.
  2. En Posit Cloud, ve a New Project > New Project from Git Repository.
  3. Pega la URL de tu repositorio y haz clic en OK.

2. Configurar Git y Guardar el PAT

Ahora, le diremos a Posit Cloud quién eres y guardaremos el PAT de forma segura. Todo esto se hace en la Consola de R.

  1. En la Consola de R (panel inferior izquierdo), instala los paquetes necesarios: r install.packages("usethis") install.packages("gitcreds")
  2. Configura tu identidad de Git. Usa el mismo usuario y email de tu cuenta de GitHub: r library(usethis) use_git_config( user.name = "TuNombreDeUsuarioGitHub", user.email = "tu_email_asociado_a_github@example.com" )
  3. Guarda tu PAT de forma segura. Al ejecutar el siguiente comando, la consola te pedirá el token: r library(gitcreds) gitcreds_set()
  4. Cuando veas -> Enter password or token:, pega tu PAT y presiona Enter. No verás los caracteres, es normal. Confirma si te lo pide.

¡Perfecto! Tu entorno está listo y seguro. Posit Cloud nunca más te pedirá credenciales.


Parte 3: El Trabajo de Análisis (Reconstrucción)

Vamos a recrear los archivos que se borraron.

1. Crear Carpeta y Archivo de Datos

  1. En el panel de archivos (abajo a la derecha), haz clic en New Folder y llámala data.
  2. Entra en la carpeta data.
  3. Crea un nuevo archivo de texto (New File > Text File), llámalo precipitacion_sucre.csv y pega lo siguiente: csv Fecha,Precipitacion_mm,Estacion 2024-01-15,5,LaMojana 2024-02-20,2,LaMojana 2024-03-10,15,LaMojana 2024-04-18,80,LaMojana 2024-05-25,150,LaMojana 2024-06-30,220,LaMojana 2024-07-15,180,LaMojana 2024-08-22,160,LaMojana
  4. Guarda el archivo.

2. Crear el Script de Análisis

  1. Vuelve al directorio principal del proyecto (haciendo clic en el icono de la casita en el panel de archivos).

  2. Crea un nuevo Script de R (New File > R Script), llámalo analisis.R y pega el siguiente código:

    # ANÁLISIS DE PRECIPITACIÓN - INGENIERÍA
    # ------------------------------------
    
    # 1. Cargar librerías
    # Si no están instaladas, la primera vez debes correr: install.packages("tidyverse")
    library(tidyverse)
    library(lubridate)
    
    # 2. Cargar los datos
    datos_lluvia <- read_csv("data/precipitacion_sucre.csv")
    
    # 3. Procesamiento y análisis
    analisis_mensual <- datos_lluvia %>%
      mutate(Mes = month(Fecha, label = TRUE, abbr = FALSE)) %>%
      group_by(Mes) %>%
      summarise(PrecipitacionTotal_mm = sum(Precipitacion_mm))
    
    print("Resumen de precipitación mensual:")
    print(analisis_mensual)
    
    # 4. Visualización
    grafico_precipitacion <- ggplot(analisis_mensual, aes(x = Mes, y = PrecipitacionTotal_mm)) +
      geom_bar(stat = "identity", fill = "steelblue") +
      labs(
        title = "Precipitación Mensual Total en la Estación 'La Mojana'",
        subtitle = "Año 2024 (Datos parciales)",
        x = "Mes",
        y = "Precipitación Total (mm)"
      ) +
      theme_minimal() +
      theme(axis.text.x = element_text(angle = 45, hjust = 1))
    
    print(grafico_precipitacion)
    
    # 5. Guardar el gráfico
    if (!dir.exists("output")) dir.create("output")
    ggsave("output/grafico_precipitacion_mensual.png", plot = grafico_precipitacion, width = 8, height = 6)
    
    print("¡Análisis completado! El gráfico se ha guardado en la carpeta 'output'.")
  3. Guarda el script y ejecútalo haciendo clic en el botón Source. Se creará la carpeta output con el gráfico dentro.

Parte 4: El Flujo de Git Correcto y Final

Este es el proceso para sincronizar tu trabajo con GitHub.

  1. Ir a la Pestaña Git: En el panel superior derecho, haz clic en la pestaña Git.

  2. Preparar Cambios (Stage): Verás una lista de todos tus archivos y carpetas nuevos (analisis.R, data, output, etc.). Marca TODAS las casillas para incluirlos.

  3. Confirmar Cambios (Commit): Haz clic en el botón Commit.

  4. Escribir Mensaje: En la nueva ventana, escribe un mensaje descriptivo en “Commit message”. Por ejemplo: Añade script inicial, datos y gráfico de precipitación.

  5. Haz clic en Commit. Has guardado una “fotografía” de tu trabajo localmente.

  6. Empujar a GitHub (Push): Finalmente, haz clic en el botón Push (la flecha verde hacia arriba).

Verás un mensaje de que el proceso se completó con éxito. ¡Y listo! Si vas a tu repositorio en GitHub y refrescas la página, verás todos tus archivos y carpetas allí.

Lecciones Aprendidas de los Errores

Aprovecha para explicar a tus estudiantes qué pasó:

  • GitHub Push Protection: Es un guardián automático. Si detecta un secreto (como un PAT) en los archivos que intentas subir, bloquea el push para proteger tu cuenta. La solución es eliminar el secreto del historial, no solo del archivo.
  • Consola vs. Terminal: La Consola ejecuta código de R (install.packages, library, etc.). La Terminal ejecuta comandos del sistema operativo y de Git (git reset, ls, etc.). Son herramientas distintas para propósitos distintos.
  • git reset --soft vs. git reset --hard:
    • --soft: Deshace el último commit pero conserva tus cambios en los archivos. Es seguro.
    • --hard: Deshace el último commit y BORRA todos los cambios no guardados en los archivos. Es potente pero peligroso si no sabes lo que haces.

Espero que esta guía completa y renovada sea exactamente lo que necesitas. ¡Mucho éxito!