Skip to content

Instantly share code, notes, and snippets.

@sientifiko
sientifiko / pib_imacec.R
Created November 5, 2024 23:57
Script para obtener la proyección de crecimiento tendencial (asumiendo linealidad) a partir del PIB y el IMACEC
# "pib trim.xlsx" es el PIB trimestral a precios encadenados de este enlace:
#https://si3.bcentral.cl/Siete/ES/Siete/Cuadro/CAP_CCNN/MN_CCNN76/CCNN2018_P0_V2/637801082315858005?cbFechaInicio=2000&cbFechaTermino=2024&cbFrecuencia=QUARTERLY&cbCalculo=NONE&cbFechaBase=
pibtrim <- readxl::read_excel("pib trim.xlsx",skip = 1)
colnames(pibtrim) <- c("time", "pib")
pibtrim <- pibtrim %>%
mutate(time2 = ymd(str_sub(time, 1, 10))) %>%
@sientifiko
sientifiko / visual stm.R
Created October 18, 2024 23:09
Script para generar una visualización de las distribuciones de efectos condicionales a posterior a partir de un objeto de tipo estimateEffect (básicamente el que creas cuando haces la regresión)
library(stm)
library(tidytext)
library(ggridges)
n_topicos = 20
n_nuestras = 100
# iteración sobre tópicos
lapply(1:n_topicos, function(i){
@sientifiko
sientifiko / modeladoinc.R
Last active September 28, 2024 00:34
Código para la nota de medium sobre modelamiento en Ingeniería de Datos
library(tidyverse)
library(haven)
theme_set(theme_bw(base_size = 24))
dat <- read_dta("http://fmwww.bc.edu/ec-p/data/wooldridge/wage1.dta")
dat %>%
ggplot() +
@sientifiko
sientifiko / multreg.R
Created September 3, 2024 02:17
Codigo para mostrar interpretación de betas en el contexto de regresión multiple
library(foreign)
dat <- read.dta("http://fmwww.bc.edu/ec-p/data/wooldridge/gpa1.dta")
coef(lm(colGPA ~ ACT + hsGPA, data = dat))
coef(lm(colGPA ~ hsGPA, data = dat))
@sientifiko
sientifiko / stargazertableout.R
Created August 29, 2024 03:02
Función que genera un output similar al de stargazer, pero en formato tabulado para que puedan exportarlo
generate_regression_table <- function(models, se_type = "HC3") {
require(sandwich)
require(lmtest)
# Initialize lists to store results
results_list <- list()
# Loop over each model
for (i in seq_along(models)) {
model <- models[[i]]
@sientifiko
sientifiko / guia_desigualdad1.R
Last active December 19, 2023 08:53
Script para la nota 1 sobre guía de desigualdad en medium
library(tidyverse)
theme_set(theme_bw(base_size = 21))
options(scipen = 999)
dat <- read.csv("dataregionesChile.csv")
# filtrar el año 2020
y2020 <- dat %>% filter(year == 2020)
# generar histograma
@sientifiko
sientifiko / script maddison.R
Created December 11, 2023 20:06
Generar gráficas sobre PIB argentina
library(tidyverse)
library(directlabels)
theme_set(theme_bw(base_size = 21))
options(scipen = 999)
dat <- readxl::read_excel("mpd2020.xlsx", sheet = 3) %>%
filter(country %in% c("Argentina", "Chile", "Brazil","Sweden", "United States",
"Norway", "Uruguay", "United Kingdom", "Panama"),
year >= 1870)
library(tidyverse)
library(countrycode)
library(gganimate)
library(gifski)
theme_set(theme_classic())
tiempo <- read.csv("annual-working-hours-per-worker.csv")
colnames(tiempo)[4] <- "tiempo"
@sientifiko
sientifiko / Text stat prog gob 2021.R
Created November 5, 2021 01:30
Código para replicar la estadística de texto de los programas de gobierno
library(XML)
library(RCurl)
library(tm)
library(wordcloud2)
library(stm)
library(pdftools)
library(tidyverse)
library(patchwork)
library(ggwordcloud)
@sientifiko
sientifiko / scrapservel1.R
Last active November 26, 2021 20:34
Codigo para scrapear el servel sacando votación por comuna
library(tidyverse)
library(rvest)
library(RSelenium)
# funciones pa limpiar
limpieza <- function(objtabla){
objtabla <- objtabla[-which(is.na(objtabla[,1])), ]
objtabla <- objtabla[c(1:(nrow(objtabla)-5)),]