{"id":25914474,"url":"https://github.com/hdarjus/sparvaride","last_synced_at":"2026-04-17T04:03:13.592Z","repository":{"id":142433336,"uuid":"416254798","full_name":"hdarjus/sparvaride","owner":"hdarjus","description":"Variance Identification for Sparse Factor Analyses","archived":false,"fork":false,"pushed_at":"2025-12-11T15:10:29.000Z","size":155,"stargazers_count":1,"open_issues_count":4,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-12T19:13:08.714Z","etag":null,"topics":["econometrics","factor-analysis","latent-factors","parameter-identification","r"],"latest_commit_sha":null,"homepage":"https://hdarjus.github.io/sparvaride/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hdarjus.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-12T08:46:01.000Z","updated_at":"2025-01-05T12:55:59.000Z","dependencies_parsed_at":"2023-05-19T17:45:20.678Z","dependency_job_id":null,"html_url":"https://github.com/hdarjus/sparvaride","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/hdarjus/sparvaride","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdarjus%2Fsparvaride","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdarjus%2Fsparvaride/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdarjus%2Fsparvaride/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdarjus%2Fsparvaride/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hdarjus","download_url":"https://codeload.github.com/hdarjus/sparvaride/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hdarjus%2Fsparvaride/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31914458,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"online","status_checked_at":"2026-04-17T02:00:06.879Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["econometrics","factor-analysis","latent-factors","parameter-identification","r"],"created_at":"2025-03-03T11:20:52.379Z","updated_at":"2026-04-17T04:03:13.588Z","avatar_url":"https://github.com/hdarjus.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput: github_document\n---\n\n\u003c!-- README.md is generated from README.Rmd. Please edit that file --\u003e\n\n```{r, include = FALSE}\nknitr::opts_chunk$set(\n  collapse = TRUE,\n  comment = \"#\u003e\",\n  fig.path = \"man/figures/README-\",\n  out.width = \"100%\"\n)\n```\n\n# Package `sparvaride`\n\nThe package implements the variance identification algorithm for sparse factor analysis described in the paper \"Cover It Up! Bipartite Graphs Uncover Identifiability in Sparse Factor Analysis\" by Darjus Hosszejni and Sylvia Frühwirth-Schnatter.\nThe paper is published in the [Journal of Multivariate Analysis](https://doi.org/10.1016/j.jmva.2025.105536).\n\nThe package is still under development and the API is subject to change.\nFor a Matlab implementation, see [`sparvaride-matlab`](https://github.com/hdarjus/sparvaride-matlab).\n\n## Installation\n\nYou can install the development version of `sparvaride` from [GitHub](https://github.com/hdarjus/sparvaride) with:\n\n``` r\n# install.packages(\"devtools\")\ndevtools::install_github(\"hdarjus/sparvaride\")\n```\n\n## The `counting_rule_holds` Function\n\nWe can check whether the 3579 counting rule holds for a given binary matrix `delta` using the `counting_rule_holds` function in the `sparvaride` package.\n\n```{r setup}\nlibrary(sparvaride)\n```\n\nWe define two matrices as above in R:\n\n```{r examples}\ndelta1 \u003c-\n  matrix(c(1, 0, 0,\n           0, 1, 0,\n           0, 0, 1,\n           1, 1, 1,\n           1, 0, 1,\n           1, 0, 1,\n           1, 0, 1),\n         nrow = 7, ncol = 3,\n         byrow = TRUE)\ndelta2 \u003c-\n  matrix(c(1, 0, 0,\n           0, 1, 0,\n           0, 0, 1,\n           1, 1, 1,\n           1, 0, 1,\n           1, 1, 1,\n           1, 0, 1),\n         nrow = 7, ncol = 3,\n         byrow = TRUE)\n```\n\nThen, we call the `counting_rule_holds` function on these matrices:\n\n```{r counting_rule_holds}\ncounting_rule_holds(delta1)\ncounting_rule_holds(delta2)\n```\n\n## Citation\n\nFor citing our work, please check the `citation` function in R:\n\n```{r citation}\ncitation(\"sparvaride\")\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhdarjus%2Fsparvaride","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhdarjus%2Fsparvaride","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhdarjus%2Fsparvaride/lists"}