Learn R Programming

sjstats (version 0.10.2)

se: Standard Error for variables or coefficients

Description

Compute standard error for a variable, for all variables of a data frame, for joint random and fixed effects coefficients of (non-/linear) mixed models, the adjusted standard errors for generalized linear (mixed) models, or for intraclass correlation coefficients (ICC).

Usage

se(x, nsim = 100, type = c("fe", "re"))

Arguments

x

(Numeric) vector, a data frame, an lm or glm-object, a merMod-object as returned by the functions from the lme4-package, an ICC object (as obtained by the icc-function) or a list with estimate and p-value. For the latter case, the list must contain elements named estimate and p.value (see 'Examples' and 'Details').

nsim

Numeric, the number of simulations for calculating the standard error for intraclass correlation coefficients, as obtained by the icc-function.

type

Type of standard errors for generalized linear mixed models. type = "fe" returns the standard errors for fixed effects, based on the delta-method-approximation. type = "re" returns the standard errors for joint random and fixed effects, which are on the scale of the link function. See 'Details'.

Value

The standard error of x.

Details

For linear mixed models, and generalized linear mixed models with type = "re", this function computes the standard errors for joint (sums of) random and fixed effects coefficients (unlike se.coef, which returns the standard error for fixed and random effects separately). Hence, se() returns the appropriate standard errors for coef.merMod.

For generalized linear models or generalized linear mixed models, approximated standard errors, using the delta method for transformed regression parameters are returned (Oehlert 1992). For generalized linear mixed models, by default, the standard errors refer to the fixed effects only. Use type = "re" to compute standard errors for joint random and fixed effects coefficients. However, computation for the latter is not based on the delta method, so standard errors from type = "re" are on the scale of the link-function (and not back transformed).

The standard error for the icc is based on bootstrapping, thus, the nsim-argument is required. See 'Examples'.

se() also returns the standard error of an estimate (regression coefficient) and p-value, assuming a normal distribution to compute the z-score from the p-value (formula in short: b / qnorm(p / 2)). See 'Examples'.

References

Oehlert GW. 1992. A note on the delta method. American Statistician 46(1).

Gelman A 2017. How to interpret confidence intervals? http://andrewgelman.com/2017/03/04/interpret-confidence-intervals/

Examples

Run this code
# NOT RUN {
# compute standard error for vector
se(rnorm(n = 100, mean = 3))

# compute standard error for each variable in a data frame
data(efc)
se(efc[, 1:3])

# compute standard error for merMod-coefficients
library(lme4)
fit <- lmer(Reaction ~ Days + (Days | Subject), sleepstudy)
se(fit)

# compute odds-ratio adjusted standard errors, based on delta method
# with first-order Taylor approximation.
data(efc)
efc$services <- sjmisc::dicho(efc$tot_sc_e, dich.by = 0)
fit <- glm(services ~ neg_c_7 + c161sex + e42dep,
           data = efc, family = binomial(link = "logit"))
se(fit)

# compute odds-ratio adjusted standard errors for generalized
# linear mixed model, also based on delta method
library(lme4)
library(sjmisc)
# create binary response
sleepstudy$Reaction.dicho <- dicho(sleepstudy$Reaction, dich.by = "median")
fit <- glmer(Reaction.dicho ~ Days + (Days | Subject),
             data = sleepstudy, family = binomial("logit"))
se(fit)

# compute standard error from regression coefficient and p-value
se(list(estimate = .3, p.value = .002))

# }
# NOT RUN {
# compute standard error of ICC for the linear mixed model
icc(fit)
se(icc(fit))

# the standard error for the ICC can be computed manually in this way,
# taking the fitted model example from above
library(tidyverse)
dummy <- sleepstudy %>%
  # generate 100 bootstrap replicates of dataset
  bootstrap(100) %>%
  # run mixed effects regression on each bootstrap replicate
  # and compute ICC for each "bootstrapped" regression
  mutate(
    models = map(strap, ~lmer(Reaction ~ Days + (Days | Subject), data = .x)),
    icc = map_dbl(models, ~icc(.x))
  )

# now compute SE and p-values for the bootstrapped ICC, values
# may differ from above example due to random seed
boot_se(dummy, icc)
boot_p(dummy, icc)
# }
# NOT RUN {

# }

Run the code above in your browser using DataLab