Skip to content

Instantly share code, notes, and snippets.

@andrewheiss
Created February 28, 2021 14:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andrewheiss/7f7e2f4fbb5fc71e5a9369178aa6b1e6 to your computer and use it in GitHub Desktop.
Save andrewheiss/7f7e2f4fbb5fc71e5a9369178aa6b1e6 to your computer and use it in GitHub Desktop.

Haha so this should have been obvious to me all along, but the results for log_gdpPercap with gaussian() are identical to original gdpPercap with lognormal()

library(tidyverse)
library(gapminder)
library(brms)
library(broom)
library(broom.mixed)
library(modelsummary)

gapminder <- gapminder %>% 
  mutate(log_gdpPercap = log(gdpPercap))

ggplot(gapminder, aes(x = gdpPercap)) + geom_density()

ggplot(gapminder, aes(x = log_gdpPercap)) + geom_density()

# This is all a **super bad** way to model panel data like this, but it's just an example
# Models with lm()
model_ols_original <- lm(gdpPercap ~ lifeExp, data = gapminder)
model_ols_logged <- lm(log_gdpPercap ~ lifeExp, data = gapminder)

# Models with brms
model_brms_original <- brm(bf(gdpPercap ~ lifeExp),
                           data = gapminder, seed = 1234,
                           family = gaussian(), chains = 2)
#> Compiling Stan program...

model_brms_lognormal <- brm(bf(gdpPercap ~ lifeExp),
                            data = gapminder, seed = 1234,
                            family = lognormal(), chains = 2)
#> Compiling Stan program...

# Compare results
modelsummary(list("lm, original outcome" = model_ols_original, 
                  "brms, original outcome" = model_brms_original, 
                  "lm, logged outcome" = model_ols_logged,
                  "brms, original outcome, lognormal family" = model_brms_lognormal),
             coef_omit = "^sd__", gof_omit = ".", output = "markdown")
lm, original outcome brms, original outcome lm, logged outcome brms, original outcome, lognormal family
(Intercept) -19277.249 -19314.015 3.543 3.544
(914.093) (910.017) (0.084) (0.082)
lifeExp 445.445 445.880 0.078 0.078
(15.020) (14.987) (0.001) (0.001)

Created on 2021-02-28 by the reprex package (v0.3.0)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment