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.

Visualization in tidyILD

Role of visual inspection

Intensive longitudinal data (ILD) benefits from layered plots: raw trajectories, spacing and missingness, within/between structure, model-based residuals, and (when fitted) heterogeneity of person-specific parameters. tidyILD spreads these across ild_plot(), ild_autoplot() on diagnostics bundles, and backend-specific helpers (KFAS, TVEM, circadian). There is no single ild_visualize(); use the table below as an index.

Map: question → function → bundle section (if any)

Question Primary API Notes
Spaghetti trajectories ild_spaghetti(), ild_plot(..., type = "trajectory") max_ids, time_var, optional facet_by
Person × time heatmap ild_heatmap(), ild_plot(..., type = "heatmap") Optional facet_by for clusters
Spacing / intervals ild_plot(..., type = "gaps"), ild_autoplot(bundle, section = "design", type = "coverage") ild_spacing() is tabular + AR1/CAR1 hint
Missingness pattern ild_plot(..., type = "missingness"), ild_missing_pattern()$plot Bundle: section = "data", type = "missingness"
Within/between densities ild_center_plot(), ild_decomposition(..., plot = TRUE) Not marginal effects of fitted model
Residual ACF ild_plot(fit, type = "residual_acf"), ild_autoplot(bundle, section = "residual", type = "acf") Sequence-based lag; see ?ild_acf
Obs vs fitted scatter ild_plot(fit, type = "fitted")
Obs vs fitted over time ild_plot_predicted_trajectory(fit), ild_plot(..., type = "predicted_trajectory") Two lines per id
Person-specific / partial pooling ild_autoplot(h, type = "caterpillar") on ild_heterogeneity(); bundle section = "fit", type = "heterogeneity"
Time-varying effect ild_tvem_plot() After ild_tvem()
State space / continuous time ild_plot_states(), ild_plot_forecast(), ild_plot_filtered_vs_smoothed() on ild_kfas() fits; ild_autoplot for ctsem where supported Optional KFAS / ctsem
Diurnal pattern ild_circadian()

After ild_diagnose(), prefer ild_autoplot(bundle, ...) for a consistent section layout (residual, fit, predictive, data, design, causal).

Example: spaghetti, predicted trajectories, facet by cluster

library(tidyILD)
set.seed(1)
d <- ild_simulate(n_id = 24, n_obs_per = 10, seed = 1)
d$cluster <- rep(LETTERS[1:3], length.out = nrow(d))
x <- ild_prepare(d, id = "id", time = "time")
ild_spaghetti(x, var = "y", facet_by = "cluster", max_ids = 12L)


fit <- ild_lme(y ~ 1 + (1 | id), data = x, ar1 = FALSE, warn_no_ar1 = FALSE, warn_uncentered = FALSE)
ild_plot_predicted_trajectory(fit, time_var = ".ild_seq", max_ids = 8L, facet_by = "cluster")

Recipe: facet panels without a dedicated helper

Any ggplot from ild_* can be stored and extended (e.g. p + facet_wrap(vars(week))) if you add a column to the ILD first. The facet_by argument on ild_plot() passes through to ggplot2::facet_wrap() for trajectory, heatmap, gaps, and predicted trajectories.

Partial effects for _wp and _bp (external packages)

tidyILD does not reimplement marginal effects. After ild_center(), fit with y ~ x_wp + x_bp + (1|id) and use marginaleffects or ggeffects on the fitted object. Keep the estimand explicit: slopes on x_wp are within-person associations; x_bp captures between-person differences in level.

# install.packages(c("marginaleffects", "ggeffects"))  # if needed
x <- ild_center(x, x)
fit <- ild_lme(y ~ x_wp + x_bp + (1 | id), data = x, warn_uncentered = FALSE)
# Example (syntax may vary by package version):
# marginaleffects::plot_predictions(fit, condition = "x_wp")
# marginaleffects::plot_predictions(fit, condition = "x_bp")
# ggeffects::ggpredict(fit, terms = "x_wp")  # then plot() or ggplot2 layer

See also

vignette("tidyILD-workflow", package = "tidyILD"), vignette("ild-decomposition-and-spacing", package = "tidyILD"), ?ild_plot, ?ild_autoplot.

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.