Getting started with the metasurvey ecosystem

metasurvey is a meta-package: a single library(metasurvey) loads and re-exports the whole ecosystem, in the style of the tidyverse.

library(metasurvey)

The packages

Package Role
metasurvey.core Local processing engine: Survey/RotativePanelSurvey/PoolSurvey, the step pipeline (step_compute(), step_recode(), …), recipes, workflows, and a local recipe/workflow backend. No network or UI dependencies.
metasurvey.fromstata Transpile STATA .do scripts into metasurvey recipes with transpile_stata().
metasurvey.anda Download microdata and metadata from ANDA instances (anda_download_microdata(), anda_variables()).
metasurvey.explorer.backend R client for the recipe/workflow REST API (api_login(), api_publish_recipe(), api_list_recipes(), …). Registers the providers that let the core backend and ANDA lookups route to the API.
metasurvey.explorer.frontend Optional Shiny explorer UI, launched with metasurvey.explorer.frontend::explore_recipes().
metasurvey.worker Deployable server-side services (Plumber API + compute worker). Not a user-facing R package.

A minimal local pipeline

Everything below runs locally, without any network access.

dt <- data.table::fread(
  system.file("extdata", "ech_2023_sample.csv", package = "metasurvey.core")
)

svy <- survey_empty(type = "ech", edition = "2023") |>
  set_data(dt)

# Add a computed variable and materialise it
svy <- svy |>
  step_compute(adult = as.integer(e27 >= 18)) |>
  bake_steps()

Transpiling STATA

recipe <- transpile_stata("path/to/processing.do", survey_type = "ech")

Working with the shared registry

The API client and ANDA lookups are wired automatically once metasurvey.explorer.backend is loaded (which the meta-package does):

configure_api("https://your-metasurvey-api.example.com")
api_login("[email protected]", "password")
recipes <- api_list_recipes(survey_type = "ech")

High-level orchestration

reproduce_workflow() ties several packages together: it resolves the weight specification (downloading ANDA replicate files if needed), fetches the referenced recipes from the backend, and returns a Survey ready for estimation.

wf <- api_get_workflow("w_123")
svy <- reproduce_workflow(wf)

Where to go next

Each package ships its own detailed documentation and vignettes:

  • metasurvey.core: survey objects, steps, recipes, workflows, complex designs.
  • metasurvey.fromstata: the STATA transpiler.
  • metasurvey.anda: the ANDA client.
  • metasurvey.explorer.backend: the API client.