{
  "_id": "6acd11f4a14063b82c3ab061",
  "Package": "VaSSTra",
  "Title": "Simple Variables to States to Sequences to Trajectories",
  "Version": "0.4.0",
  "Authors@R": "c(\nperson(\"Mohammed\", \"Saqr\",\nemail = \"saqr@saqr.me\",\nrole = c(\"aut\", \"cre\", \"cph\")),\nperson(\"Sonsoles\", \"López-Pernas\",\nemail = \"sonsoles.lopez@uef.fi\", role = \"aut\")\n)",
  "Description": "A small, pipe-friendly implementation of the VaSSTra\nworkflow for longitudinal multivariate data. It provides\nexplicit steps to turn variables into states, states into\naligned sequences, and sequences into trajectory groups,\nfollowed by tidy trajectory descriptions. A single call runs\nthe complete analysis with transparent, overridable automation\nof data roles and cluster counts, and an evaluation verb\ncompares the fitted clustering against its alternatives.\n'Nestimate' provides the default sequence-clustering backend\nand all sequence plots. No 'TraMineR' dependency is required.",
  "License": "MIT + file LICENSE",
  "URL": "https://sonsoles.me/vasstra/,\nhttps://github.com/sonsoleslp/vasstra,\nhttps://lamethods.org/book1/chapters/ch11-vasstra/ch11-vasstra.html",
  "BugReports": "https://github.com/sonsoleslp/vasstra/issues",
  "Encoding": "UTF-8",
  "Language": "en-US",
  "LazyData": "true",
  "Roxygen": "list(markdown = TRUE)",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "Config/roxygen2/version": "8.0.0",
  "Repository": "https://mohsaqr.r-universe.dev",
  "Date/Publication": "2026-08-25 11:22:49 UTC",
  "RemoteUrl": "https://github.com/sonsoleslp/vasstra",
  "RemoteRef": "HEAD",
  "RemoteSha": "04490e71993b7ea835d954189d525e951e5675aa",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-12 16:39:16 UTC",
    "User": "root"
  },
  "Author": "Mohammed Saqr [aut, cre, cph],\nSonsoles López-Pernas [aut]",
  "Maintainer": "Mohammed Saqr <saqr@saqr.me>",
  "_user": "mohsaqr",
  "_type": "src",
  "_file": "VaSSTra_0.4.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/a61a1cefd08b43dd2c08dfcd01f6e612b7fb62822a0c00a168a7531bcdee0b71",
  "_filesize": 5310021,
  "_sha256": "a61a1cefd08b43dd2c08dfcd01f6e612b7fb62822a0c00a168a7531bcdee0b71",
  "_expires": "2027-01-20T16:59:25.000Z",
  "_created": "2026-10-12T16:39:16.000Z",
  "_published": "2026-10-12T16:59:32.220Z",
  "_buildurl": "https://github.com/r-universe/mohsaqr/actions/runs/38278367307",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 114911225354,
      "time": 171,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11759983200"
    },
    {
      "job": 114911225273,
      "time": 170,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11760900328"
    },
    {
      "job": 114911225455,
      "time": 138,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11760988030"
    },
    {
      "job": 114911225498,
      "time": 146,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11760484313"
    },
    {
      "job": 114909435886,
      "time": 274,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11759733056"
    },
    {
      "job": 114911225417,
      "time": 112,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11760790458"
    },
    {
      "job": 114911225371,
      "time": 110,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11760302915"
    },
    {
      "job": 114911225501,
      "time": 131,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11760013082"
    },
    {
      "job": 114911225211,
      "time": 145,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11759709616"
    }
  ],
  "_upstream": "https://github.com/sonsoleslp/vasstra",
  "_commit": {
    "id": "04490e71993b7ea835d954189d525e951e5675aa",
    "author": "Sonsoles López-Pernas <sonsoles.lopez@uef.fi>",
    "committer": "Sonsoles López-Pernas <sonsoles.lopez@uef.fi>",
    "message": "VaSSTra 0.4.0: per-state variable plots, descriptives, and richer articles\n\nPlots and tidy output:\n- plot(states, type = \"variables\"): grouped indicator boxplots split by\n  state, one panel per time point, or a single pooled panel with\n  by_time = FALSE.\n- state_descriptives(): per-state, per-indicator summary (n, mean, sd,\n  median, range), optionally per time point and on the original scale.\n- evaluate() plots colour the state row with the fit's state_colors so it\n  matches the other state plots; the trajectory row keeps a distinct palette.\n- Combined per-trajectory grid widens the distribution column for its y-axis.\n\nArticles and docs:\n- New \"Standardization\" article, opening on the nested structure of\n  longitudinal data.\n- Clustering-algorithms article gains an SVG taxonomy diagram.\n- Simplify vignette fits to the automatic defaults unless an argument is\n  being illustrated; drop apply-family scaffolding.\n- Add inst/CITATION (method paper plus the software).\n\nMetadata:\n- Bump to 0.4.0; add author email.\n",
    "time": 1787656969
  },
  "_maintainer": {
    "name": "Mohammed Saqr",
    "email": "saqr@saqr.me",
    "login": "loxavian",
    "description": "",
    "uuid": 52792889
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "cluster",
      "role": "Imports"
    },
    {
      "package": "graphics",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "mclust",
      "version": ">= 6.1.0",
      "role": "Imports"
    },
    {
      "package": "Nestimate",
      "version": ">= 0.8.0",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "bslib",
      "role": "Suggests"
    },
    {
      "package": "cograph",
      "version": ">= 2.4.0",
      "role": "Suggests"
    },
    {
      "package": "DT",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "shiny",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "sonsoleslp",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-30",
      "n": 5
    },
    {
      "week": "2026-32",
      "n": 1
    },
    {
      "week": "2026-33",
      "n": 2
    },
    {
      "week": "2026-35",
      "n": 1
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "mohsaqr",
      "count": 6,
      "uuid": 194697827
    },
    {
      "user": "sonsoleslp",
      "count": 3,
      "uuid": 10948559
    }
  ],
  "_userbio": {
    "uuid": 194697827,
    "type": "user",
    "name": "Mohammed Saqr",
    "followers": 14,
    "description": "Professor of Computer Science"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/VaSSTra"
  },
  "_devurl": "https://github.com/sonsoleslp/vasstra",
  "_pkgdown": "https://sonsoles.me/vasstra/",
  "_searchresults": 0,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/VaSSTra.html",
    "LICENSE"
  ],
  "_cranurl": false,
  "_exports": [
    "evaluate",
    "fit_indices",
    "fit_state_choice",
    "fit_trajectory_choice",
    "flow_plot",
    "launch_app",
    "set_labels",
    "state_choices",
    "state_descriptives",
    "step1_states",
    "step2_sequences",
    "step3_trajectories",
    "step4_describe",
    "trajectory_choices",
    "transition_centrality",
    "transition_plot",
    "transition_table",
    "vasstra"
  ],
  "_datasets": [
    {
      "name": "engagement",
      "title": "Longitudinal Student Engagement",
      "object": "engagement",
      "class": [
        "data.frame"
      ],
      "fields": [
        "user_id",
        "course_id",
        "sequence_position",
        "course_view_count",
        "forum_consume_count",
        "forum_contribute_count",
        "lecture_view_count",
        "course_view_regularity",
        "session_count",
        "total_duration",
        "active_days",
        "course_view_count_z",
        "forum_consume_count_z",
        "forum_contribute_count_z",
        "lecture_view_count_z",
        "course_view_regularity_z",
        "session_count_z",
        "total_duration_z",
        "active_days_z"
      ],
      "rows": 1136,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "as.data.frame.vasstra",
      "title": "Convert a VaSSTra Analysis to a Tidy Table",
      "topics": [
        "as.data.frame.vasstra"
      ]
    },
    {
      "page": "engagement",
      "title": "Longitudinal Student Engagement",
      "topics": [
        "engagement"
      ]
    },
    {
      "page": "evaluate",
      "title": "Evaluate a Fitted Clustering",
      "topics": [
        "evaluate",
        "evaluate.vasstra",
        "evaluate.vasstra_states",
        "evaluate.vasstra_trajectories"
      ]
    },
    {
      "page": "fit_indices",
      "title": "Tidy Fit Indices for a Fitted Clustering",
      "topics": [
        "fit_indices",
        "fit_indices.vasstra",
        "fit_indices.vasstra_states",
        "fit_indices.vasstra_trajectories"
      ]
    },
    {
      "page": "fit_state_choice",
      "title": "Fit One State Choice",
      "topics": [
        "fit_state_choice"
      ]
    },
    {
      "page": "fit_trajectory_choice",
      "title": "Fit One Trajectory Choice",
      "topics": [
        "fit_trajectory_choice"
      ]
    },
    {
      "page": "flow_plot",
      "title": "Plot State Flows Between Consecutive Time Points",
      "topics": [
        "flow_plot",
        "flow_plot.vasstra",
        "flow_plot.vasstra_sequences",
        "flow_plot.vasstra_trajectories"
      ]
    },
    {
      "page": "launch_app",
      "title": "Launch the Interactive VaSSTra App",
      "topics": [
        "launch_app"
      ]
    },
    {
      "page": "plot.vasstra",
      "title": "Plot a Complete VaSSTra Analysis",
      "topics": [
        "plot.vasstra"
      ]
    },
    {
      "page": "plot.vasstra_evaluation",
      "title": "Plot a Clustering Evaluation",
      "topics": [
        "plot.vasstra_evaluation"
      ]
    },
    {
      "page": "plot.vasstra_evaluations",
      "title": "Plot the Evaluations of a Complete Fit",
      "topics": [
        "plot.vasstra_evaluations"
      ]
    },
    {
      "page": "plot.vasstra_sequences",
      "title": "Plot VaSSTra State Sequences with Nestimate",
      "topics": [
        "plot.vasstra_sequences"
      ]
    },
    {
      "page": "plot.vasstra_state_choices",
      "title": "Plot State-Clustering Choices",
      "topics": [
        "plot.vasstra_state_choices"
      ]
    },
    {
      "page": "plot.vasstra_states",
      "title": "Plot Estimated VaSSTra States",
      "topics": [
        "plot.vasstra_states"
      ]
    },
    {
      "page": "plot.vasstra_trajectories",
      "title": "Plot VaSSTra Trajectories with Nestimate",
      "topics": [
        "plot.vasstra_trajectories"
      ]
    },
    {
      "page": "plot.vasstra_trajectory_choices",
      "title": "Plot Trajectory-Clustering Choices",
      "topics": [
        "plot.vasstra_trajectory_choices"
      ]
    },
    {
      "page": "set_labels",
      "title": "Relabel Fitted States or Trajectories",
      "topics": [
        "set_labels",
        "set_labels.vasstra",
        "set_labels.vasstra_states",
        "set_labels.vasstra_trajectories"
      ]
    },
    {
      "page": "state_choices",
      "title": "Compare Choices for the Number and Method of States",
      "topics": [
        "state_choices"
      ]
    },
    {
      "page": "state_descriptives",
      "title": "Descriptive Statistics per State",
      "topics": [
        "state_descriptives",
        "state_descriptives.vasstra",
        "state_descriptives.vasstra_states"
      ]
    },
    {
      "page": "step1_states",
      "title": "Step 1: Turn Variables into States",
      "topics": [
        "step1_states"
      ]
    },
    {
      "page": "step2_sequences",
      "title": "Step 2: Turn States into Sequences",
      "topics": [
        "step2_sequences"
      ]
    },
    {
      "page": "step3_trajectories",
      "title": "Step 3: Turn Sequences into Trajectories",
      "topics": [
        "step3_trajectories"
      ]
    },
    {
      "page": "step4_describe",
      "title": "Step 4: Describe the Trajectories",
      "topics": [
        "step4_describe"
      ]
    },
    {
      "page": "trajectory_choices",
      "title": "Compare Choices for the Number and Method of Trajectories",
      "topics": [
        "trajectory_choices"
      ]
    },
    {
      "page": "transition_centrality",
      "title": "State Transition Network Centralities",
      "topics": [
        "transition_centrality",
        "transition_centrality.vasstra",
        "transition_centrality.vasstra_sequences",
        "transition_centrality.vasstra_trajectories"
      ]
    },
    {
      "page": "transition_plot",
      "title": "Plot the State Transition Network",
      "topics": [
        "transition_plot",
        "transition_plot.vasstra",
        "transition_plot.vasstra_sequences",
        "transition_plot.vasstra_trajectories"
      ]
    },
    {
      "page": "transition_table",
      "title": "State Transition Table",
      "topics": [
        "transition_table",
        "transition_table.vasstra",
        "transition_table.vasstra_sequences",
        "transition_table.vasstra_trajectories"
      ]
    },
    {
      "page": "vasstra",
      "title": "Run the Complete VaSSTra Workflow",
      "topics": [
        "vasstra"
      ]
    }
  ],
  "_pkglogo": "https://github.com/sonsoleslp/vasstra/raw/HEAD/logo.png",
  "_readme": "https://github.com/sonsoleslp/vasstra/raw/HEAD/README.md",
  "_rundeps": [
    "brglm2",
    "cli",
    "cluster",
    "cpp11",
    "data.table",
    "enrichwith",
    "farver",
    "ggplot2",
    "glue",
    "gtable",
    "idiographic",
    "isoband",
    "labeling",
    "lattice",
    "lifecycle",
    "MASS",
    "Matrix",
    "mclust",
    "Nestimate",
    "nleqslv",
    "nnet",
    "numDeriv",
    "psychnets",
    "R6",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "statmod",
    "vctrs",
    "viridisLite",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "flow-plots.Rmd",
      "filename": "flow-plots.html",
      "title": "Flow Plots",
      "engine": "knitr::rmarkdown",
      "headings": [
        "1. Why flows need their own view",
        "2. Aggregated flows: the alluvial",
        "3. Individual flows: one line per student",
        "4. Flows inside a single trajectory",
        "5. Controlling colour, bundling, and layout",
        "6. The transition network: movement collapsed over time",
        "Sequences and network side by side",
        "Where flow plots fit"
      ],
      "created": "2026-07-24 19:36:31",
      "modified": "2026-08-25 11:22:49",
      "commits": 4
    },
    {
      "source": "get-started.Rmd",
      "filename": "get-started.html",
      "title": "Getting started with VaSSTra",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Using your own data",
        "One call",
        "Evaluate the clustering",
        "Tidy fit indices",
        "Name groups after inspecting them",
        "The same analysis in four explicit steps",
        "State plots",
        "Sequence and trajectory plots",
        "Compare candidates in full detail"
      ],
      "created": "2026-07-24 09:20:38",
      "modified": "2026-08-25 11:22:49",
      "commits": 5
    },
    {
      "source": "vasstra-tutorial.Rmd",
      "filename": "vasstra-tutorial.html",
      "title": "VaSSTra Tutorial: Variables, States, Sequences, Trajectories",
      "engine": "knitr::rmarkdown",
      "headings": [
        "1. The complete analysis in one call",
        "2. Choosing and defending the number of states",
        "3. Understanding what the states are",
        "4. Sequences: how states unfold over time",
        "5. Trajectories: groups of similar journeys",
        "6. Describing what the trajectories mean",
        "7. Relabeling without refitting",
        "8. Full control: explicit steps and grid comparisons"
      ],
      "created": "2026-07-24 09:20:38",
      "modified": "2026-08-25 11:22:49",
      "commits": 5
    }
  ],
  "_score": 3.778151250383644,
  "_indexed": false,
  "_nocasepkg": "vasstra",
  "_universes": [
    "mohsaqr"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-10-12T16:41:23.000Z",
      "distro": "resolute",
      "commit": "04490e71993b7ea835d954189d525e951e5675aa",
      "fileid": "https://r2.ropensci.org/932a23f052529deb7b6b1aab1c6857069a97480453b41b417edb43e29816b766",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/mohsaqr/actions/runs/38278367307"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.4.0",
      "date": "2026-10-12T16:41:43.000Z",
      "distro": "resolute",
      "commit": "04490e71993b7ea835d954189d525e951e5675aa",
      "fileid": "https://r2.ropensci.org/0bddd915fa8de5b5a013bfa29e092b990d53b24d883a55d453f9405628f05763",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/mohsaqr/actions/runs/38278367307"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.4.0",
      "date": "2026-10-12T16:58:01.000Z",
      "commit": "04490e71993b7ea835d954189d525e951e5675aa",
      "fileid": "https://r2.ropensci.org/c263e27d5a389c2c5c14ab1d093577af8b933ee5b641873b8432f7b329470c83",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/mohsaqr/actions/runs/38278367307"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.4.0",
      "date": "2026-10-12T16:58:12.000Z",
      "commit": "04490e71993b7ea835d954189d525e951e5675aa",
      "fileid": "https://r2.ropensci.org/b1a40e0d2559b5b3e32b1e6590ad0ccada46afdc6e4f40e9e34cb8748d25d145",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/mohsaqr/actions/runs/38278367307"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.4.0",
      "date": "2026-10-12T16:41:27.000Z",
      "commit": "04490e71993b7ea835d954189d525e951e5675aa",
      "fileid": "https://r2.ropensci.org/381d445e97bb729b5ce4244af2d2eb3f694e889a0581ae5a40748bc4e5cc72c5",
      "status": "success",
      "buildurl": "https://github.com/r-universe/mohsaqr/actions/runs/38278367307"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-10-12T16:40:24.000Z",
      "commit": "04490e71993b7ea835d954189d525e951e5675aa",
      "fileid": "https://r2.ropensci.org/327b5ec0f5915a428e0c9e32f23aeae19dffb7ee1a9dcc5be2c4163e306706d2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/mohsaqr/actions/runs/38278367307"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-10-12T16:40:29.000Z",
      "commit": "04490e71993b7ea835d954189d525e951e5675aa",
      "fileid": "https://r2.ropensci.org/d26c678d1f9996b0ee758d151622570a1242e71dd23f057b4538456441565166",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/mohsaqr/actions/runs/38278367307"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.4.0",
      "date": "2026-10-12T16:40:33.000Z",
      "commit": "04490e71993b7ea835d954189d525e951e5675aa",
      "fileid": "https://r2.ropensci.org/4c7b9f7ab6ff807550af21bddd290c456f2b4d393041f95bd73e4f58dac54520",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/mohsaqr/actions/runs/38278367307"
    }
  ]
}