La siguiente es la Guía de “Las Casas de Boston” tomando como modelo la estructura de la guía “De Cero a Héroe con Posit Cloud y GitHub”. La idea es que los estudiantes trabajen paso a paso desde GitHub hasta Posit Cloud, usando el dataset housing.csv y generando el documento en RMarkdown que exportarán a PDF, Word y publicarán en RPubs.


Guía: Las Casas de Boston con GitHub y Posit Cloud 🚀


Parte 1. Preparación en GitHub

1. Generar un PAT (Personal Access Token) 🔑

  1. Inicia sesión en GitHub.

  2. Ve a Settings → Developer settings → Personal access tokens (classic).

  3. Haz clic en Generate new token (elige classic).

  4. Configura:

    • Nombre: Posit Cloud API
    • Expiración: 90 días
    • Scopes: marca repo
  5. Haz clic en Generate token.

  6. Copia el token (ej: ghp_...) y guárdalo. No se volverá a mostrar.

2. Crear el Repositorio en GitHub

  1. Crea un repositorio nuevo llamado: boston-housing.

  2. Configura como Público.

  3. Marca:

    • Add a README file
    • Add .gitignore y selecciona la plantilla R
  4. Haz clic en Create repository.


Parte 2. Configuración en Posit Cloud

1. Crear el Proyecto desde GitHub

  1. Copia la URL HTTPS de tu repositorio (https://github.com/usuario/boston-housing.git).
  2. En Posit Cloud, selecciona: New Project → New Project from Git Repository.
  3. Pega la URL del repositorio y confirma.

2. Configurar Git y Guardar el PAT

En la Consola de R:

install.packages("usethis", repos="https://cloud.r-project.org")
install.packages("gitcreds", repos="https://cloud.r-project.org")
install.packages("credentials", repos="https://cloud.r-project.org")

library(usethis)
use_git_config(
  user.name = "TuUsuarioGitHub",
  user.email = "tu_email_asociado@example.com"
)

library(gitcreds)
gitcreds_set()

Cuando te pida Enter password or token, pega tu PAT y presiona Enter.


Parte 3. El Trabajo de Análisis

1. Subir los Datos

  • En el panel de archivos, crea la carpeta data.
  • Sube allí el archivo housing.csv.

2. Crear el Documento RMarkdown

  1. Archivo → Nuevo archivo → RMarkdown → Documento → HTML.
  2. Título: Guía: Las Casas de Boston
  3. Guardar como Boston_Housing.Rmd.

3. Encabezado YAML

---
title: "Guía: Las Casas de Boston"
author: "Nombre del Estudiante"
date: "2025-09-21"
output:
  html_document:
    toc: true
    toc_float: true
  pdf_document: default
  word_document: default
---

4. Carga de librerías y datos

library(tidyverse)
library(broom)
library(GGally)
library(janitor)
library(modelr)

df <- readr::read_csv("data/housing.csv") %>%
  janitor::clean_names()

glimpse(df)
summary(df)

5. Análisis exploratorio

# Pares de variables numéricas
num_cols <- df %>% select(where(is.numeric)) %>% names()
GGally::ggpairs(df, columns = num_cols[1:6])

# Mapa geográfico
ggplot(df, aes(x=longitude, y=latitude, color=ocean_proximity)) +
  geom_point(alpha=0.4) +
  theme_minimal()

6. Regresión lineal

m1 <- lm(median_house_value ~ median_income + housing_median_age +
           total_rooms + population + households + ocean_proximity,
         data=df)

broom::glance(m1)
broom::tidy(m1, conf.int=TRUE)

par(mfrow=c(2,2))
plot(m1)

7. Evaluación fuera de muestra

set.seed(42)
df_split <- df %>% modelr::resample_partition(c(train=0.8, test=0.2))

m2 <- lm(median_house_value ~ median_income + housing_median_age +
           total_rooms + population + households + ocean_proximity,
         data=modelr::resample_training(df_split$train))

pred <- predict(m2, newdata=modelr::resample_training(df_split$test))
rmse <- sqrt(mean((modelr::resample_response(df_split$test) - pred)^2))
rmse

Parte 4. Exportación de Resultados

  • Knit to PDF → genera documento PDF.
  • Knit to Word → genera documento Word.
  • Knit to HTML → genera documento HTML.

Parte 5. Publicación en RPubs

  1. Knit el documento a HTML.
  2. En la previsualización, haz clic en PublishRPubs.
  3. Inicia sesión en tu cuenta RPubs y publica el documento.
  4. Copia y comparte el enlace.

Parte 6. Flujo de Git Correcto y Final

  1. En la pestaña Git de Posit Cloud, selecciona los cambios (Stage).
  2. Escribe un mensaje descriptivo (Commit).
  3. Haz Push para enviar a GitHub.
  4. Verifica en GitHub que tu repositorio tiene el código, datos y documentos.