The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
This vignette shows a minimal analysis report: fit a model, print fixed effects, plot fitted vs observed, and show residual ACF and Q-Q.
library(tidyILD)
d <- ild_simulate(n_id = 8, n_obs_per = 10, irregular = TRUE, seed = 101)
x <- ild_prepare(d, id = "id", time = "time", gap_threshold = 7200)
x <- ild_center(x, y)
fit <- ild_lme(y ~ y_bp + y_wp + (1 | id), data = x, ar1 = FALSE, warn_no_ar1 = FALSE)
#> Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, :
#> Model failed to converge with max|grad| = 0.117947 (tol = 0.002, component 1)
#> Warning in checkConv(attr(opt, "derivs"), opt$par, ctrl = control$checkConv, : Model is nearly unidentifiable: very large eigenvalue
#> - Rescale variables?tidy_ild_model(fit)
#> # A tibble: 3 × 6
#> term estimate std_error ci_low ci_high p_value
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 (Intercept) 9.93e-17 2.69e-17 4.65e-17 1.52e-16 NA
#> 2 y_bp 1 e+ 0 2.72e-17 1 e+ 0 1 e+ 0 NA
#> 3 y_wp 1 e+ 0 5.29e-17 1 e+ 0 1 e+ 0 NAWith cluster-robust standard errors (requires the clubSandwich package):
tidy_ild_model(fit, se = "robust", robust_type = "CR2")
#> # A tibble: 3 × 6
#> term estimate std_error ci_low ci_high p_value
#> <chr> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 (Intercept) 9.93e-17 1.38e-16 -1.71 e-16 3.70e-16 0.472
#> 2 y_bp 1 e+ 0 2.07e-16 1.000e+ 0 1 e+ 0 0
#> 3 y_wp 1 e+ 0 1.99e-17 1 e+ 0 1 e+ 0 0diag <- ild_diagnostics(fit, type = c("residual_acf", "qq"))
diag
#> ILD diagnostics
#> Engine: lmer
#> AR1/CAR1: no
#> Id column: id Time column: time
#> N persons: 8 N observations: 80
#> Types computed: residual_acf, qqSame workflow with residual autocorrelation (nlme path). If the AR1 model fails to converge on this small example, we show the code only; in practice use more data or a different seed.
fit_ar1 <- tryCatch(
ild_lme(y ~ y_bp + y_wp, data = x, random = ~ 1 | id, ar1 = TRUE),
error = function(e) NULL
)
if (!is.null(fit_ar1)) {
tidy_ild_model(fit_ar1)
} else {
message("AR1 fit did not converge on this run; use ild_lme(..., ar1 = TRUE) with your data.")
}
#> AR1 fit did not converge on this run; use ild_lme(..., ar1 = TRUE) with your data.When the effect of a predictor may change over time (e.g. stronger in
the morning), use ild_tvem() to fit a GAM with a smooth in
time and a time-varying coefficient. The plot shows how the effect of
the predictor varies over the study timeline; interpret the curve as the
estimated effect at each time point (with uncertainty band).
set.seed(101)
d2 <- ild_simulate(n_id = 6, n_obs_per = 12, seed = 101)
d2$x <- rnorm(nrow(d2))
x2 <- ild_prepare(d2, id = "id", time = "time")
tv <- ild_tvem(x2, "y", "x", k = 5, re_id = TRUE)
ild_tvem_plot(tv)These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.