Samples n personas with attributes drawn independently from the
supplied margins, and renders each persona's text from a template.
Attributes are sampled independently, so the result does not preserve their
joint distribution. Use panel_from_data() to sample complete microdata
rows.
Arguments
- margins
A named list; each element a named probability vector, e.g.
list(age = c("18-34" = .3, "35-64" = .45, "65+" = .25)). Probabilities are renormalized if they do not sum to 1.- n
Panel size.
- persona_template
Text with
{attribute}placeholders rendered per persona.NULLbuilds a plain "attribute: value" persona.
