# Papas margarita #

Codigo de R

#Paquetes 

pkgs <- c("readr","dplyr","tidyr","stringr","ggplot2")
to_install <- pkgs[!pkgs %in% installed.packages()[,"Package"]]
if(length(to_install) > 0) install.packages(to_install)

library(readr)
library(dplyr)
library(tidyr)
library(stringr)
library(ggplot2)

1) URL CSV (publicado)

csv_url <- “https://docs.google.com/spreadsheets/d/e/2PACX-1vRyUGyCvhMGgF-VcSnGimswfeOotN6JRMtoN6i6bgOK4bE-euZd_zXLVAR5zd7qiH_QTEQzexTmnpcF/pub?output=csv

2) Leer datos

df <- read_csv(csv_url, show_col_types = FALSE) cat(“=== Columnas ===”) print(names(df))

3) Detectar columnas que contienen los escenarios de precio

(ajusta el patrón si tu pregunta no dice exactamente esto)

cols_q <- grep(“Si el precio”, names(df), ignore.case = TRUE, value = TRUE)

if(length(cols_q) == 0){ stop(“No encontré columnas con ‘Si el precio’. Cambia el patrón del grep() según el texto real de tus columnas.”) }

4) Pasar a formato largo + sacar precio desde el nombre de la columna

df_long <- df %>% pivot_longer( cols = all_of(cols_q), names_to = “pregunta_precio”, values_to = “cantidad_raw” ) %>% mutate( precio = as.numeric(str_extract(pregunta_precio, “\d+”)), cantidad = parse_number(as.character(cantidad_raw), locale = locale(grouping_mark=“.”, decimal_mark=“,”)) ) %>% filter(!is.na(precio), !is.na(cantidad))

cat(“=== Resumen df_long ===”) print(summary(df_long[, c(“precio”,“cantidad”)]))

5) Gráfico

print( ggplot(df_long, aes(x = precio, y = cantidad)) + geom_point() + geom_smooth(method = “lm”, se = TRUE) + labs(title = “Cantidad demandada vs Precio”, x = “Precio (COP)”, y = “Cantidad”) )

6) Regresión

m <- lm(cantidad ~ precio, data = df_long) cat(“=== REGRESIÓN ===”) print(summary(m))

7) Correlación

corr <- cor(df_long\(precio, df_long\)cantidad, use = “complete.obs”) cat(“=== CORRELACIÓN ===”) print(corr)

8) Elasticidad (promedio)

b1 <- coef(m)[[“precio”]] Pbar <- mean(df_long\(precio) Qbar <- mean(df_long\)cantidad) E <- b1 * (Pbar / Qbar)

cat(“=== ELASTICIDAD ===”) cat(“b1 =”, b1, “=”, Pbar, “=”, Qbar, “=”, E, “”) ```