Nothing
## ----setup, include=FALSE-----------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
#fig.path = "man/figures/README-",
out.width = "100%",
fig.retina = 2
)
## ---- message=F, warning = F--------------------------------------------------
# Load packages
library(tidyverse)
library(specr)
library(gapminder)
library(lme4)
# Recode some variables
gapminder <- gapminder %>%
mutate(gdpPercap_log = log(gdpPercap),
pop = pop/1000)
# Check data
head(gapminder)
## -----------------------------------------------------------------------------
specs <- setup(data = gapminder,
y = c("lifeExp"),
x = c("gdpPercap_log"),
model = c("lmer"),
controls = "pop",
fun1 = function(x) broom.mixed::tidy(x, conf.int = TRUE),
add_to_formula = "(1|country) + (1|year)")
# Check formula
summary(specs)
# Run analysis and inspect results
results <- specr(specs)
as_tibble(results)
## -----------------------------------------------------------------------------
# Random intercept model (only country as grouping variable)
lmer_ri_1 <- function(formula, data,...) {
require(lme4)
require(broom.mixed)
formula <- paste(formula, "+ (1|country)")
lmer(formula, data)
}
# Including random slopes (only country as grouping variable)
lmer_rs_1 <- function(formula, data,...) {
require(lme4)
require(broom.mixed)
slopevars <- unlist(strsplit(formula, " ~ "))[2]
formula <- paste0(formula, "+ (1 + ", slopevars, "|country)" )
lmer(formula, data)
}
# Random intercept model (lifeExp is nested in both countries and years)
lmer_ri_2 <- function(formula, data,...) {
require(lme4)
require(broom.mixed)
formula <- paste0(formula, "+ (1|country) + (1|year)")
lmer(formula, data)
}
# Including random slopes (intercept and slopes are nested in both countries and years)
lmer_rs_2 <- function(formula, data,...) {
require(lme4)
require(broom.mixed)
slopevars <- unlist(strsplit(formula, " ~ "))[2]
formula <- paste0(formula, "+ (1 + ", slopevars, "|country) + (", slopevars, "|year)" )
lmer(formula, data)
}
## ---- message=F, warning = F--------------------------------------------------
# Setup specifications with customized functions
specs <- setup(data = gapminder,
y = c("lifeExp"),
x = c("gdpPercap_log"),
model = c("lmer_ri_1", "lmer_ri_2",
"lmer_rs_1", "lmer_rs_2"),
controls = "pop")
# Check specifications
summary(specs)
## ---- warning = F, message = F, fig.height=8, fig.width=8---------------------
# Run analysis and plot results
results <- specr(specs)
plot(results)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.