{
  "_id": "6ac95ba7de46216d5edda88e",
  "Package": "dyadMLM",
  "Title": "Tools for Dyadic Multilevel Models",
  "Version": "0.2.0.9000",
  "Date": "2026-08-21",
  "Authors@R": "person(\"Pascal\", \"Küng\", , \"kueng.pascal@gmail.com\",\nrole = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0001-7346-9414\"))",
  "Description": "Provides tools for dyadic multilevel modeling with linear\nand generalized linear mixed-effects models. It validates and\nprepares long-format cross-sectional and intensive longitudinal\ndata, including ecological momentary assessment designs, for\ndistinguishable and exchangeable dyads. It also supports\ndatasets containing multiple observed dyad compositions. It\nconstructs composition-aware, model-ready variables for\nActor-Partner Interdependence Models (APIMs), Dyad-Individual\nModels (DIMs), and Dyadic Score Models (DSMs). Prepared data\ncan be used with model engines such as 'glmmTMB' and 'brms' for\nGaussian and non-Gaussian outcomes, including counts,\nproportions, and skewed continuous responses. Post-estimation\ntools compare compatible fitted models and back-transform\nexchangeable sum-and-difference random-effect covariance\nstructures into member-level quantities. Experimental\npredictive checks compare observed and simulated response\nvariances and partner correlations in cross-sectional Gaussian\nand selected non-Gaussian models. The APIM and DSM\nspecifications and their relationships follow Iida et al.\n(2018) <doi:10.1177/0265407517725407>; the multilevel\nsum-and-difference random-effects implementation for\nexchangeable dyads adapts del Rosario and West (2025)\n<doi:10.1177/25152459251351286>.",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "8.0.0",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr, rmarkdown",
  "LazyData": "true",
  "URL": "https://pascal-kueng.github.io/dyadMLM/,\nhttps://github.com/Pascal-Kueng/dyadMLM",
  "BugReports": "https://github.com/Pascal-Kueng/dyadMLM/issues",
  "Language": "en-US",
  "Repository": "https://pascal-kueng.r-universe.dev",
  "Date/Publication": "2026-10-09 20:43:16 UTC",
  "RemoteUrl": "https://github.com/Pascal-Kueng/dyadMLM",
  "RemoteRef": "HEAD",
  "RemoteSha": "cb1f2bcf0fdc14cf1a803b270d4f9d834ab7d706",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-10-09 21:17:58 UTC",
    "User": "root"
  },
  "Author": "Pascal Küng [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0001-7346-9414>)",
  "Maintainer": "Pascal Küng <kueng.pascal@gmail.com>",
  "_user": "pascal-kueng",
  "_type": "src",
  "_file": "dyadMLM_0.2.0.9000.tar.gz",
  "_fileid": "https://r2.ropensci.org/88b6e5e392a938fb60f8a90908678806cde6c983919bc55e7a5e30dcfa33c5c3",
  "_filesize": 1214816,
  "_sha256": "88b6e5e392a938fb60f8a90908678806cde6c983919bc55e7a5e30dcfa33c5c3",
  "_expires": "2027-01-17T21:24:53.000Z",
  "_created": "2026-10-09T21:17:58.000Z",
  "_published": "2026-10-09T21:24:55.630Z",
  "_buildurl": "https://github.com/r-universe/pascal-kueng/actions/runs/37992067405",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 114030447926,
      "time": 227,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11646415227"
    },
    {
      "job": 114030447940,
      "time": 209,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11645986671"
    },
    {
      "job": 114030448059,
      "time": 111,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11645687447"
    },
    {
      "job": 114030447896,
      "time": 154,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11645812142"
    },
    {
      "job": 114028626324,
      "time": 297,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11645164541"
    },
    {
      "job": 114030447941,
      "time": 144,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11645244278"
    },
    {
      "job": 114030448232,
      "time": 164,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11645801814"
    },
    {
      "job": 114030448047,
      "time": 174,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11645816704"
    },
    {
      "job": 114030448008,
      "time": 203,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11646260471"
    }
  ],
  "_upstream": "https://github.com/Pascal-Kueng/dyadMLM",
  "_commit": {
    "id": "cb1f2bcf0fdc14cf1a803b270d4f9d834ab7d706",
    "author": "Pascal Küng <108430531+Pascal-Kueng@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Skip binding when no member rows are missing (#90)\n\nvctrs can fail to bind zero rows for some column classes, such as hms\nwhen the hms package is not loaded. Use the data as is when there is\nnothing to add.",
    "time": 1791578596
  },
  "_maintainer": {
    "name": "Pascal Küng",
    "email": "kueng.pascal@gmail.com",
    "login": "pascal-kueng",
    "linkedin": "in/pascal-k%C3%BCng-93761274",
    "orcid": "0000-0001-7346-9414",
    "description": "Postdoctoral researcher at the University of Zurich | Dyadic and intensive longitudinal methods | Open-source R tools for social and health psychology",
    "uuid": 108430531
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1",
      "role": "Depends"
    },
    {
      "package": "dplyr",
      "version": ">= 1.1.0",
      "role": "Imports"
    },
    {
      "package": "pillar",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "version": ">= 0.4.0",
      "role": "Imports"
    },
    {
      "package": "tidyselect",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "version": ">= 3.0.0",
      "role": "Imports"
    },
    {
      "package": "withr",
      "version": ">= 3.0.3",
      "role": "Imports"
    },
    {
      "package": "brms",
      "role": "Suggests"
    },
    {
      "package": "glmmTMB",
      "version": ">= 1.1.11",
      "role": "Suggests"
    },
    {
      "package": "htmltools",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "lavaan",
      "role": "Suggests"
    },
    {
      "package": "lifecycle",
      "role": "Suggests"
    },
    {
      "package": "marginaleffects",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.1.7",
      "role": "Suggests"
    }
  ],
  "_owner": "pascal-kueng",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-26",
      "n": 11
    },
    {
      "week": "2026-27",
      "n": 71
    },
    {
      "week": "2026-28",
      "n": 166
    },
    {
      "week": "2026-29",
      "n": 139
    },
    {
      "week": "2026-30",
      "n": 40
    },
    {
      "week": "2026-31",
      "n": 1
    },
    {
      "week": "2026-32",
      "n": 10
    },
    {
      "week": "2026-33",
      "n": 9
    },
    {
      "week": "2026-34",
      "n": 4
    },
    {
      "week": "2026-35",
      "n": 16
    },
    {
      "week": "2026-37",
      "n": 2
    },
    {
      "week": "2026-38",
      "n": 11
    },
    {
      "week": "2026-39",
      "n": 7
    },
    {
      "week": "2026-41",
      "n": 3
    }
  ],
  "_tags": [
    {
      "name": "v0.1.0",
      "date": "2026-07-22"
    },
    {
      "name": "archive/generalized-tweedie-vignette",
      "date": "2026-08-11"
    },
    {
      "name": "v0.2.0",
      "date": "2026-08-14"
    },
    {
      "name": "archive/diagnostic-prototypes",
      "date": "2026-08-26"
    },
    {
      "name": "archive/gaussian-ild-prototype",
      "date": "2026-08-27"
    },
    {
      "name": "archive/simple-generalized-checks",
      "date": "2026-09-26"
    }
  ],
  "_topics": [
    "dyadic",
    "dyadic-data",
    "dyadic-model",
    "dyadic-regression-analysis",
    "glmmtmb",
    "intensive-longitudinal-data",
    "intensive-longitudinal-studies",
    "openscience",
    "stats"
  ],
  "_stars": 1,
  "_contributors": [
    {
      "user": "pascal-kueng",
      "count": 680,
      "uuid": 108430531
    },
    {
      "user": "musanyaks",
      "count": 1,
      "uuid": 40785428
    }
  ],
  "_userbio": {
    "uuid": 108430531,
    "type": "user",
    "name": "Pascal Küng",
    "followers": 0,
    "description": "Postdoctoral researcher at the University of Zurich | Dyadic and intensive longitudinal methods | Open-source R tools for social and health psychology"
  },
  "_downloads": {
    "count": 323,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/dyadMLM"
  },
  "_devurl": "https://github.com/pascal-kueng/dyadmlm",
  "_pkgdown": "https://pascal-kueng.github.io/dyadMLM/",
  "_searchresults": 17,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/dyadMLM.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md"
  ],
  "_homeurl": "https://github.com/pascal-kueng/dyadmlm",
  "_realowner": "pascal-kueng",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2026-07-30"
    },
    {
      "version": "0.2.0",
      "date": "2026-08-21"
    }
  ],
  "_exports": [
    "check_partner_dependence",
    "compare_nested_models",
    "prepare_dyad_data",
    "recover_exchangeable_covariance",
    "simulate_dyad_responses"
  ],
  "_datasets": [
    {
      "name": "dyads_cross",
      "title": "Example Gaussian cross-sectional dyadic data",
      "object": "dyads_cross",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "personID",
        "coupleID",
        "gender",
        "closeness",
        "provided_support"
      ],
      "rows": 720,
      "table": true,
      "tojson": true
    },
    {
      "name": "dyads_ild",
      "title": "Example Gaussian intensive longitudinal dyadic data",
      "object": "dyads_ild",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "personID",
        "coupleID",
        "diaryday",
        "gender",
        "closeness",
        "provided_support"
      ],
      "rows": 10080,
      "table": true,
      "tojson": true
    },
    {
      "name": "dyads_nbinom_cross",
      "title": "Example negative-binomial cross-sectional dyadic data",
      "object": "dyads_nbinom_cross",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "personID",
        "coupleID",
        "gender",
        "conflict_count",
        "stress"
      ],
      "rows": 720,
      "table": true,
      "tojson": true
    },
    {
      "name": "dyads_nbinom_ild",
      "title": "Example negative-binomial intensive longitudinal dyadic data",
      "object": "dyads_nbinom_ild",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "personID",
        "coupleID",
        "diaryday",
        "gender",
        "conflict_count",
        "stress"
      ],
      "rows": 10080,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "check_partner_dependence",
      "title": "Check whether a fitted model reproduces partner dependence",
      "topics": [
        "check_partner_dependence"
      ]
    },
    {
      "page": "compare_nested_models",
      "title": "Compare nested glmmTMB models fitted to equivalent data",
      "topics": [
        "compare_nested_models"
      ]
    },
    {
      "page": "dyads_cross",
      "title": "Example Gaussian cross-sectional dyadic data",
      "topics": [
        "dyads_cross"
      ]
    },
    {
      "page": "dyads_ild",
      "title": "Example Gaussian intensive longitudinal dyadic data",
      "topics": [
        "dyads_ild"
      ]
    },
    {
      "page": "dyads_nbinom_cross",
      "title": "Example negative-binomial cross-sectional dyadic data",
      "topics": [
        "dyads_nbinom_cross"
      ]
    },
    {
      "page": "dyads_nbinom_ild",
      "title": "Example negative-binomial intensive longitudinal dyadic data",
      "topics": [
        "dyads_nbinom_ild"
      ]
    },
    {
      "page": "prepare_dyad_data",
      "title": "Prepare dyadic data for multilevel models",
      "topics": [
        "prepare_dyad_data"
      ]
    },
    {
      "page": "recover_exchangeable_covariance",
      "title": "Recover member-level residual covariance from exchangeable random-effect blocks",
      "topics": [
        "recover_exchangeable_covariance"
      ]
    },
    {
      "page": "simulate_dyad_responses",
      "title": "Simulate response datasets for predictive checks",
      "topics": [
        "simulate_dyad_responses"
      ]
    }
  ],
  "_pkglogo": "https://github.com/Pascal-Kueng/dyadMLM/raw/HEAD/man/figures/logo.svg",
  "_readme": "https://github.com/Pascal-Kueng/dyadMLM/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "dplyr",
    "generics",
    "glue",
    "lifecycle",
    "magrittr",
    "pillar",
    "pkgconfig",
    "R6",
    "rlang",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "apim.Rmd",
      "filename": "apim.html",
      "title": "Actor-Partner Interdependence Model (APIM)",
      "author": "Pascal Küng",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Cross-sectional APIMs",
        "The distinguishable APIM",
        "Residual random-effects structure",
        "Fitting the distinguishable APIM with glmmTMB",
        "The exchangeable APIM",
        "Modeling the residual random-effects structure",
        "Fitting the restricted exchangeable APIM with glmmTMB",
        "Testing distinguishability",
        "Checking partner dependence",
        "Intensive longitudinal APIMs",
        "Concurrent ILD Gaussian APIM for distinguishable dyads",
        "Adding role-specific residual AR(1)",
        "Random slopes",
        "Concurrent ILD Gaussian APIM for exchangeable dyads",
        "Adding pooled residual AR(1)",
        "Extension to exchangeable random slopes",
        "Testing random-effect constraints",
        "When carryover is the research question",
        "References"
      ],
      "created": "2026-07-10 23:25:17",
      "modified": "2026-09-25 22:46:55",
      "commits": 75
    },
    {
      "source": "dim.Rmd",
      "filename": "dim.html",
      "title": "Dyad-Individual Model",
      "author": "Pascal Küng",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Cross-Sectional Gaussian DIM",
        "Example DIM Model",
        "Model interpretation",
        "Demonstrating model equivalence to APIM",
        "Why Are These Models Equivalent? Exploring the Reparameterization",
        "Random-effect transformation",
        "Checking partner dependence",
        "Intensive Longitudinal DIM",
        "Interpretation of concurrent ILD DIM coefficients",
        "APIM and DIM parameterizations in ILD",
        "Including Random Slopes",
        "Transforming DIM random slopes to APIM slopes",
        "Dynamic ILD models",
        "References"
      ],
      "created": "2026-07-10 23:25:17",
      "modified": "2026-09-25 22:46:55",
      "commits": 87
    },
    {
      "source": "dsm.Rmd",
      "filename": "dsm.html",
      "title": "Dyadic Score Model (DSM)",
      "author": "Pascal Küng",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Preparing DSM Data",
        "Cross-Sectional Gaussian DSM",
        "Interpreting the DSM paths",
        "$$\\operatorname{Cov}(r_{\\mathrm{m}},r_{\\mathrm{d}})",
        "$$\\operatorname{Cov}(e_{\\mathrm{F}},e_{\\mathrm{M}})",
        "Reversing the coding",
        "Relationship to the APIM and DIM",
        "Fixed-effect transformation",
        "Random-effect transformation",
        "$$\\begin",
        "Checking partner dependence",
        "Intensive longitudinal DSM",
        "References"
      ],
      "created": "2026-07-12 13:26:45",
      "modified": "2026-09-25 22:46:55",
      "commits": 54
    },
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "Getting Started",
      "author": "Pascal Küng",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Installation",
        "About this vignette",
        "Prerequisites",
        "Data preparation for distinguishable dyads",
        "Data preparation for exchangeable dyads",
        "Generating DIM and DSM columns",
        "Intensive longitudinal dyadic data",
        "Preparing lagged predictors",
        "Working with multiple dyad compositions",
        "Keeping only selected dyad compositions (filtering)",
        "Setting distinguishable dyads to be treated as exchangeable",
        "Pooling different dyad compositions",
        "Citation",
        "References"
      ],
      "created": "2026-07-08 16:08:23",
      "modified": "2026-08-25 19:48:00",
      "commits": 74
    }
  ],
  "_score": 5.6776069527204935,
  "_indexed": true,
  "_nocasepkg": "dyadmlm",
  "_universes": [
    "pascal-kueng"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.0.9000",
      "date": "2026-10-09T21:21:08.000Z",
      "distro": "resolute",
      "commit": "cb1f2bcf0fdc14cf1a803b270d4f9d834ab7d706",
      "fileid": "https://r2.ropensci.org/24aa7c69ecc4fc2526c4feb47d46684d8f1e425aeff8d0b27a35c01244e06d80",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pascal-kueng/actions/runs/37992067405"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.2.0.9000",
      "date": "2026-10-09T21:20:37.000Z",
      "distro": "resolute",
      "commit": "cb1f2bcf0fdc14cf1a803b270d4f9d834ab7d706",
      "fileid": "https://r2.ropensci.org/d138b2330e619b1cf3d332206e9eb0fef183e80362ed46d9b9f3ad3c590e954e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pascal-kueng/actions/runs/37992067405"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.0.9000",
      "date": "2026-10-09T21:23:56.000Z",
      "commit": "cb1f2bcf0fdc14cf1a803b270d4f9d834ab7d706",
      "fileid": "https://r2.ropensci.org/05f48c74a1011a1283991facb42006d19d6121322fedf1d2bf200cf0b3f9153c",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pascal-kueng/actions/runs/37992067405"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.2.0.9000",
      "date": "2026-10-09T21:22:59.000Z",
      "commit": "cb1f2bcf0fdc14cf1a803b270d4f9d834ab7d706",
      "fileid": "https://r2.ropensci.org/85c70556ac3ad2a6cc9bf9c0315ed088ba6c7fec7270aa72a6206399a1bf2655",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pascal-kueng/actions/runs/37992067405"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.0.9000",
      "date": "2026-10-09T21:20:40.000Z",
      "commit": "cb1f2bcf0fdc14cf1a803b270d4f9d834ab7d706",
      "fileid": "https://r2.ropensci.org/5fc7f41b5aab50fec098aad948158875b0172bff30c3daba15392899461c59a5",
      "status": "success",
      "buildurl": "https://github.com/r-universe/pascal-kueng/actions/runs/37992067405"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.0.9000",
      "date": "2026-10-09T21:20:04.000Z",
      "commit": "cb1f2bcf0fdc14cf1a803b270d4f9d834ab7d706",
      "fileid": "https://r2.ropensci.org/2cea008e1661b2dfce42783614c2edaf8ec2e9947f677607c3fa6df1ed8cb8a5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pascal-kueng/actions/runs/37992067405"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.0.9000",
      "date": "2026-10-09T21:19:37.000Z",
      "commit": "cb1f2bcf0fdc14cf1a803b270d4f9d834ab7d706",
      "fileid": "https://r2.ropensci.org/5ca4a9b8223427c52d65ad6036aa3ff82ceb9b8379d2e226e4ad67df73e6fa5f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pascal-kueng/actions/runs/37992067405"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.2.0.9000",
      "date": "2026-10-09T21:20:18.000Z",
      "commit": "cb1f2bcf0fdc14cf1a803b270d4f9d834ab7d706",
      "fileid": "https://r2.ropensci.org/1b580cae3c4e976e123d320f496f590c9529102d9ed3a853d81fd65f5fa8b6c9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/pascal-kueng/actions/runs/37992067405"
    }
  ]
}