{
  "_id": "6adf650b93f02b9aed979048",
  "Package": "semnova",
  "Type": "Package",
  "Title": "Analyzing Interindividual Differences in Experiments",
  "Version": "0.3.0.9001",
  "Authors@R": "c(person(given = \"Benedikt\", family = \"Langenberg\",\nrole  = c(\"aut\", \"cre\"),\nemail = \"benedikt.langenberg@gmail.com\"),\nperson(given = \"Axel\", family = \"Mayer\",\nrole  = \"ctb\",\nemail = \"axel.mayer@uni-bielefeld.de\")\n)",
  "Author": "Benedikt Langenberg [aut, cre], Axel Mayer [ctb]",
  "Config/testthat/edition": "3",
  "Description": "Latent repeated measures ANOVA is a structural equation\nmodeling based alternative to traditional repeated measures\nANOVA proposed by Langenberg et al.\n<doi:10.1080/00273171.2020.1803038> allowing to analyse ANOVA\ndesigns with latent variables.",
  "Maintainer": "Benedikt Langenberg <benedikt.langenberg@gmail.com>",
  "License": "GPL (>= 2)",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "RoxygenNote": "7.3.2",
  "VignetteBuilder": "knitr",
  "Repository": "https://langenberg.r-universe.dev",
  "Date/Publication": "2026-10-26 08:02:52 UTC",
  "RemoteUrl": "https://github.com/langenberg/semnova",
  "RemoteRef": "HEAD",
  "RemoteSha": "a3a388eb88113c758b3f9f357bb6a1abc8a77920",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-26 14:09:23 UTC",
    "User": "root"
  },
  "_user": "langenberg",
  "_type": "src",
  "_file": "semnova_0.3.0.9001.tar.gz",
  "_fileid": "https://r2.ropensci.org/1c29e86f59cd1947fcdd2343a036830e9bcf59e2ef6350279e34d912623d3b41",
  "_filesize": 2918197,
  "_sha256": "1c29e86f59cd1947fcdd2343a036830e9bcf59e2ef6350279e34d912623d3b41",
  "_expires": "2027-02-03T14:34:49.000Z",
  "_created": "2026-10-26T14:09:23.000Z",
  "_published": "2026-10-26T14:34:51.132Z",
  "_upstream": "https://github.com/langenberg/semnova",
  "_status": "success",
  "_maintainer": {
    "name": "Benedikt Langenberg",
    "email": "benedikt.langenberg@gmail.com",
    "login": "langenberg",
    "description": "",
    "uuid": 36826528
  },
  "_jobs": [
    {
      "job": 121621309241,
      "time": 247,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12656284934"
    },
    {
      "job": 121621309398,
      "time": 204,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12657960981"
    },
    {
      "job": 121621309259,
      "time": 224,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12657864218"
    },
    {
      "job": 121621309424,
      "time": 247,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12658363753"
    },
    {
      "job": 121618383443,
      "time": 320,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12656654096"
    },
    {
      "job": 121621309620,
      "time": 104,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "12656579682"
    },
    {
      "job": 121621309570,
      "time": 175,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "12657441244"
    },
    {
      "job": 121621309279,
      "time": 146,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "12657053511"
    },
    {
      "job": 121621309657,
      "time": 172,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "12657625729"
    }
  ],
  "_buildurl": "https://github.com/r-universe/langenberg/actions/runs/40336163442",
  "_commit": {
    "id": "a3a388eb88113c758b3f9f357bb6a1abc8a77920",
    "author": "Langenberg <p70089410@fhmlstat-mac002.wired.unimaas.local>",
    "committer": "Langenberg <p70089410@fhmlstat-mac002.wired.unimaas.local>",
    "message": "Fix residual arrows and arc bends in dag(), bump to 0.3.0.9001\n\n- Draw the epsilon-to-indicator arrow whenever residuals are shown, not\n  only with what = \"resid_var\".\n- Bend covariance arcs away from the centre of the diagram, independent\n  of pair order, and raise the default bend angle from 18 to 45 degrees.\n- Set the arc sweep explicitly so angles of 90 degrees or more draw the\n  correct arc.\n",
    "time": 1793001772
  },
  "_distro": "resolute",
  "_host": "GitHub-Actions",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "R6",
      "version": ">= 2.0.0",
      "role": "Imports"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "lavaan",
      "version": ">= 0.6.2",
      "role": "Imports"
    },
    {
      "package": "semTools",
      "role": "Imports"
    },
    {
      "package": "MASS",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "ggraph",
      "role": "Suggests"
    },
    {
      "package": "tidygraph",
      "role": "Suggests"
    },
    {
      "package": "semPlot",
      "role": "Suggests"
    },
    {
      "package": "magick",
      "role": "Suggests"
    },
    {
      "package": "tidyr",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    }
  ],
  "_owner": "langenberg",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-37",
      "n": 1
    },
    {
      "week": "2026-44",
      "n": 1
    }
  ],
  "_tags": [],
  "_stars": 2,
  "_contributors": [
    {
      "user": "langenberg",
      "count": 3,
      "uuid": 36826528
    }
  ],
  "_userbio": {
    "uuid": 36826528,
    "type": "user",
    "name": "Benedikt Langenberg",
    "followers": 4
  },
  "_downloads": {
    "count": 233,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/semnova"
  },
  "_devurl": "https://github.com/langenberg/semnova",
  "_searchresults": 8,
  "_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/semnova.html"
  ],
  "_homeurl": "https://github.com/langenberg/semnova",
  "_realowner": "langenberg",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1-5",
      "date": "2020-06-14"
    },
    {
      "version": "0.1-6",
      "date": "2020-06-19"
    }
  ],
  "_exports": [
    "anova_table",
    "build_covariate_syntax",
    "build_group_weight_syntax",
    "build_measurement_syntax",
    "build_pi_layer_syntax",
    "build_resid_cov_syntax",
    "build_resid_var_syntax",
    "contrast_estimates",
    "contrast_matrix",
    "contrast_table",
    "dag",
    "dag_save",
    "expand_categorical_covariates",
    "fit_measures",
    "generate_anova_hypotheses",
    "hypothesis",
    "Hypothesis",
    "identification_scheme",
    "lgc",
    "Lgc",
    "model_parameters",
    "n_occasions",
    "param_label",
    "parse_design",
    "parse_param_label",
    "pretty_label",
    "regression_coefficients",
    "regression_labels",
    "resid_set",
    "ResidSet",
    "semnova",
    "Semnova",
    "strip_construct_structure",
    "test_hypothesis",
    "validate_hypothesis"
  ],
  "_datasets": [
    {
      "name": "reading_latent",
      "title": "Example data from reading research.",
      "object": "reading_latent",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "id",
        "indicator",
        "sentence",
        "grade",
        "dv",
        "age_t0",
        "sex",
        "grade_t0",
        "iq",
        "cbcl_ges_tw_t0",
        "cbcl_int_verh_tw_t0",
        "cbcl_ext_verh_tw_t0",
        "cbcl_ges_rw_t0",
        "cbcl_int_verh_rw_t0",
        "cbcl_ext_verh_rw_t0",
        "cbcl_ges_tw_t5",
        "cbcl_int_verh_tw_t5",
        "cbcl_ext_verh_tw_t5",
        "cbcl_ges_rw_t5",
        "cbcl_int_verh_rw_t5",
        "cbcl_ext_verh_rw_t5"
      ],
      "rows": 4806,
      "table": true,
      "tojson": true
    },
    {
      "name": "reading_manifest",
      "title": "Example data from reading research.",
      "object": "reading_manifest",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "id",
        "sentence",
        "grade",
        "fix_count",
        "ini_land_pos",
        "re_fix_time",
        "age_t0",
        "sex",
        "grade_t0",
        "iq",
        "cbcl_ges_tw_t0",
        "cbcl_int_verh_tw_t0",
        "cbcl_ext_verh_tw_t0",
        "cbcl_ges_rw_t0",
        "cbcl_int_verh_rw_t0",
        "cbcl_ext_verh_rw_t0",
        "cbcl_ges_tw_t5",
        "cbcl_int_verh_tw_t5",
        "cbcl_ext_verh_tw_t5",
        "cbcl_ges_rw_t5",
        "cbcl_int_verh_rw_t5",
        "cbcl_ext_verh_rw_t5"
      ],
      "rows": 1602,
      "table": true,
      "tojson": true
    },
    {
      "name": "reading_raw",
      "title": "Example data from reading research.",
      "object": "reading_raw",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "id",
        "indicator",
        "sentence",
        "grade",
        "dv",
        "age_t0",
        "sex",
        "grade_t0",
        "iq",
        "cbcl_ges_tw_t0",
        "cbcl_int_verh_tw_t0",
        "cbcl_ext_verh_tw_t0",
        "cbcl_ges_rw_t0",
        "cbcl_int_verh_rw_t0",
        "cbcl_ext_verh_rw_t0",
        "cbcl_ges_tw_t5",
        "cbcl_int_verh_tw_t5",
        "cbcl_ext_verh_tw_t5",
        "cbcl_ges_rw_t5",
        "cbcl_int_verh_rw_t5",
        "cbcl_ext_verh_rw_t5"
      ],
      "rows": 30388,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "anova_table",
      "title": "Test every hypothesis attached to a fit",
      "topics": [
        "anova.Lgc",
        "anova_table"
      ]
    },
    {
      "page": "build_covariate_syntax",
      "title": "Build the covariate measurement-model + pi-regression lavaan syntax",
      "topics": [
        "build_covariate_syntax"
      ]
    },
    {
      "page": "build_group_weight_syntax",
      "title": "Build the group-weight lavaan syntax",
      "topics": [
        "build_group_weight_syntax"
      ]
    },
    {
      "page": "build_measurement_syntax",
      "title": "Build the eta/indicator-layer measurement-model lavaan syntax",
      "topics": [
        "build_measurement_syntax"
      ]
    },
    {
      "page": "build_pi_layer_syntax",
      "title": "Build the pi-layer lavaan syntax",
      "topics": [
        "build_pi_layer_syntax"
      ]
    },
    {
      "page": "build_resid_cov_syntax",
      "title": "Build arbitrary residual-covariance lavaan syntax",
      "topics": [
        "build_resid_cov_syntax"
      ]
    },
    {
      "page": "build_resid_var_syntax",
      "title": "Build the equal-residual-variance lavaan syntax",
      "topics": [
        "build_resid_var_syntax"
      ]
    },
    {
      "page": "contrast_estimates",
      "title": "Estimate and test a general linear hypothesis on a fitted model",
      "topics": [
        "contrast_estimates"
      ]
    },
    {
      "page": "contrast_matrix",
      "title": "Kronecker contrast matrix construction",
      "topics": [
        "contrast_matrix"
      ]
    },
    {
      "page": "contrast_table",
      "title": "Per-contrast estimates for every hypothesis attached to a fit",
      "topics": [
        "contrast_table"
      ]
    },
    {
      "page": "dag",
      "title": "Plot a model's path diagram",
      "topics": [
        "dag"
      ]
    },
    {
      "page": "dag_save",
      "title": "Save a path diagram, cropped to what is actually drawn",
      "topics": [
        "dag_save"
      ]
    },
    {
      "page": "expand_categorical_covariates",
      "title": "Expand categorical covariates into contrast columns",
      "topics": [
        "expand_categorical_covariates"
      ]
    },
    {
      "page": "fit_measures",
      "title": "Fit measures for a fitted model",
      "topics": [
        "fit_measures"
      ]
    },
    {
      "page": "generate_anova_hypotheses",
      "title": "Generate one hypothesis per model term",
      "topics": [
        "generate_anova_hypotheses"
      ]
    },
    {
      "page": "Hypothesis",
      "title": "Construct a general linear hypothesis",
      "topics": [
        "hypothesis"
      ]
    },
    {
      "page": "Hypothesis-class",
      "title": "Hypothesis: a general linear hypothesis contrast specification",
      "topics": [
        "Hypothesis"
      ]
    },
    {
      "page": "identification_scheme",
      "title": "Identification scheme for a latent construct's measurement model",
      "topics": [
        "identification_scheme"
      ]
    },
    {
      "page": "lgc",
      "title": "Fit a latent growth components model",
      "topics": [
        "lgc"
      ]
    },
    {
      "page": "Lgc-class",
      "title": "Lgc: a fitted latent growth components model",
      "topics": [
        "Lgc"
      ]
    },
    {
      "page": "model_parameters",
      "title": "Read a fitted model's parameters",
      "topics": [
        "model_parameters"
      ]
    },
    {
      "page": "param-names",
      "title": "Parameter naming engine",
      "topics": [
        "n_occasions",
        "param-names",
        "param_label",
        "parse_param_label",
        "pretty_label",
        "regression_labels"
      ]
    },
    {
      "page": "parse_design",
      "title": "Parse a factorial design into contrast matrices",
      "topics": [
        "parse_design"
      ]
    },
    {
      "page": "plot.Lgc",
      "title": "Plot the estimated contrasts of a hypothesis",
      "topics": [
        "plot.Lgc"
      ]
    },
    {
      "page": "reading",
      "title": "Example data from reading research.",
      "topics": [
        "reading_latent",
        "reading_manifest",
        "reading_raw"
      ]
    },
    {
      "page": "regression_coefficients",
      "title": "Reshape a fit's pi-layer coefficients into contrast-ready arrays",
      "topics": [
        "regression_coefficients"
      ]
    },
    {
      "page": "resid_set",
      "title": "Select residual terms to constrain",
      "topics": [
        "print.ResidSet",
        "resid_set"
      ]
    },
    {
      "page": "ResidSet-class",
      "title": "ResidSet: a set of residual terms to constrain",
      "topics": [
        "ResidSet"
      ]
    },
    {
      "page": "semnova",
      "title": "Fit a latent repeated-measures ANOVA",
      "topics": [
        "semnova"
      ]
    },
    {
      "page": "Semnova-class",
      "title": "Semnova: a fitted latent repeated-measures ANOVA",
      "topics": [
        "Semnova"
      ]
    },
    {
      "page": "strip_construct_structure",
      "title": "Strip a construct's own mean and (co)variance lines from measurement syntax",
      "topics": [
        "strip_construct_structure"
      ]
    },
    {
      "page": "summary.Lgc",
      "title": "Summarize a fitted model",
      "topics": [
        "summary.Lgc"
      ]
    },
    {
      "page": "test_hypothesis",
      "title": "Test a hypothesis on a fitted model",
      "topics": [
        "test_hypothesis"
      ]
    },
    {
      "page": "validate_hypothesis",
      "title": "Validate and default-fill a Hypothesis against a fit",
      "topics": [
        "validate_hypothesis"
      ]
    }
  ],
  "_readme": "https://github.com/langenberg/semnova/raw/HEAD/README.md",
  "_rundeps": [
    "lavaan",
    "MASS",
    "mnormt",
    "numDeriv",
    "pbivnorm",
    "quadprog",
    "R6",
    "semTools"
  ],
  "_vignettes": [
    {
      "source": "semnova.Rmd",
      "filename": "semnova.html",
      "title": "Analysing within- and between-subject effects with semnova",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What semnova is for",
        "The example data",
        "A manifest within-subjects design",
        "Adding a between-subjects factor",
        "A latent dependent variable",
        "Covariates",
        "Measurement invariance",
        "Residual structure",
        "The covariance structure of the contrast variables",
        "Hypothesis tests",
        "Custom hypotheses",
        "Plots",
        "Looking inside a fit",
        "The lower-level interface",
        "Building blocks",
        "Parameter names",
        "What is not here yet",
        "Session information"
      ],
      "created": "2020-06-09 19:37:26",
      "modified": "2026-09-09 08:02:59",
      "commits": 4
    },
    {
      "source": "glh.Rmd",
      "filename": "glh.html",
      "title": "The general linear hypothesis behind every semnova test",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The model",
        "The hypothesis",
        "Vectorisation",
        "One group",
        "All groups",
        "$$\\text",
        "The group contrast",
        "Dimensions",
        "Implementation",
        "Where each part comes from"
      ],
      "created": "2025-06-06 12:40:21",
      "modified": "2026-09-09 08:02:59",
      "commits": 2
    }
  ],
  "_score": 4.6020599913279625,
  "_indexed": true,
  "_nocasepkg": "semnova",
  "_universes": [
    "langenberg"
  ],
  "_previous": "0.3.0",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.3.0.9001",
      "date": "2026-10-26T14:12:21.000Z",
      "distro": "resolute",
      "commit": "a3a388eb88113c758b3f9f357bb6a1abc8a77920",
      "fileid": "https://r2.ropensci.org/926dffc71864920991209ee66ce66f2efadba5b4d6f7798f0df4ad8a8d2b253c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/langenberg/actions/runs/40336163442"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.3.0.9001",
      "date": "2026-10-26T14:11:42.000Z",
      "distro": "resolute",
      "commit": "a3a388eb88113c758b3f9f357bb6a1abc8a77920",
      "fileid": "https://r2.ropensci.org/fb24dfdc7a4cd6afbb1b72b261032050d3e76ce6fe72a48401622e1e906a3cfe",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/langenberg/actions/runs/40336163442"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.3.0.9001",
      "date": "2026-10-26T14:32:11.000Z",
      "commit": "a3a388eb88113c758b3f9f357bb6a1abc8a77920",
      "fileid": "https://r2.ropensci.org/d2f3472d8c58fbbdbb0b3da0816052a3f9f6e7fa0e67d2a6647c82aa152f68fc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/langenberg/actions/runs/40336163442"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.3.0.9001",
      "date": "2026-10-26T14:32:31.000Z",
      "commit": "a3a388eb88113c758b3f9f357bb6a1abc8a77920",
      "fileid": "https://r2.ropensci.org/59357c1fac01473050f85b03ff196a505e82b46d580db5b1688a7069dd158942",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/langenberg/actions/runs/40336163442"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.3.0.9001",
      "date": "2026-10-26T14:11:23.000Z",
      "commit": "a3a388eb88113c758b3f9f357bb6a1abc8a77920",
      "fileid": "https://r2.ropensci.org/8a957ce09fce598db3b1f35673a52b92b96804cad5fa5bc09a57a78440f74ecc",
      "status": "success",
      "buildurl": "https://github.com/r-universe/langenberg/actions/runs/40336163442"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.3.0.9001",
      "date": "2026-10-26T14:10:50.000Z",
      "commit": "a3a388eb88113c758b3f9f357bb6a1abc8a77920",
      "fileid": "https://r2.ropensci.org/ce6083f4715f095cec330588d1bd91a4825de845ca2859eaa1ead665dfbf147f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/langenberg/actions/runs/40336163442"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.3.0.9001",
      "date": "2026-10-26T14:10:46.000Z",
      "commit": "a3a388eb88113c758b3f9f357bb6a1abc8a77920",
      "fileid": "https://r2.ropensci.org/d6a3ea42f9c8ef1146fb60fd6ad9a4ba8311b89f406c8e8b3073d8fb16cfb1e8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/langenberg/actions/runs/40336163442"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.3.0.9001",
      "date": "2026-10-26T14:10:49.000Z",
      "commit": "a3a388eb88113c758b3f9f357bb6a1abc8a77920",
      "fileid": "https://r2.ropensci.org/eb228abff3c1b8186db07d1bf1dfcfef39afb70f1ac07cf2c69b4318e79b2c0b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/langenberg/actions/runs/40336163442"
    }
  ]
}