{
  "_id": "6a181370acfb0bcc41daecbf",
  "Type": "Package",
  "Package": "pcpr",
  "Title": "Principal Component Pursuit for Environmental Epidemiology",
  "Version": "1.0.0.9000",
  "Authors@R": "c(\nperson(\"Lawrence G.\", \"Chillrud\", , \"lawrencechillrud@gmail.com\", role = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0003-0727-0161\")),\nperson(\"Jaime\", \"Benavides\", role = \"aut\",\ncomment = c(ORCID = \"0000-0002-1851-5155\")),\nperson(\"Elizabeth A.\", \"Gibson\", role = \"aut\",\ncomment = c(ORCID = \"0000-0001-5119-5133\")),\nperson(\"Junhui\", \"Zhang\", role = \"aut\",\ncomment = c(ORCID = \"0009-0008-5922-1058\")),\nperson(\"Jingkai\", \"Yan\", role = \"aut\",\ncomment = c(ORCID = \"0000-0002-2094-2092\")),\nperson(\"John N.\", \"Wright\", role = \"aut\"),\nperson(\"Jeff\", \"Goldsmith\", role = \"aut\"),\nperson(\"Marianthi-Anna\", \"Kioumourtzoglou\", role = \"aut\",\ncomment = c(ORCID = \"0000-0001-5710-4992\")),\nperson(\"Columbia University\", role = \"fnd\",\ncomment = c(ROR = \"00hj8s172\"))\n)",
  "Description": "Implementation of the pattern recognition technique\nPrincipal Component Pursuit tailored to environmental health\ndata, as described in Gibson et al (2022)\n<doi:10.1289/EHP10479>.",
  "License": "GPL (>= 3)",
  "URL": "https://columbia-prime.github.io/pcpr/,\nhttps://github.com/Columbia-PRIME/pcpr",
  "BugReports": "https://github.com/Columbia-PRIME/pcpr/issues",
  "VignetteBuilder": "knitr",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "Repository": "https://columbia-prime.r-universe.dev",
  "Date/Publication": "2025-04-02 19:17:47 UTC",
  "RemoteUrl": "https://github.com/columbia-prime/pcpr",
  "RemoteRef": "HEAD",
  "RemoteSha": "d4543329c8b4bacb9baffb43c40d3a54de6246a2",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-28 10:01:18 UTC",
    "User": "root"
  },
  "Author": "Lawrence G. Chillrud [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0003-0727-0161>),\nJaime Benavides [aut] (ORCID: <https://orcid.org/0000-0002-1851-5155>),\nElizabeth A. Gibson [aut] (ORCID:\n<https://orcid.org/0000-0001-5119-5133>),\nJunhui Zhang [aut] (ORCID: <https://orcid.org/0009-0008-5922-1058>),\nJingkai Yan [aut] (ORCID: <https://orcid.org/0000-0002-2094-2092>),\nJohn N. Wright [aut],\nJeff Goldsmith [aut],\nMarianthi-Anna Kioumourtzoglou [aut] (ORCID:\n<https://orcid.org/0000-0001-5710-4992>),\nColumbia University [fnd] (ROR: <https://ror.org/00hj8s172>)",
  "Maintainer": "Lawrence G. Chillrud <lawrencechillrud@gmail.com>",
  "MD5sum": "b113d394917132701dc8be0789bbe909",
  "_user": "columbia-prime",
  "_type": "src",
  "_file": "pcpr_1.0.0.9000.tar.gz",
  "_fileid": "466f2c7fb65a041c3f07383a532d012c288ca2ff0c63d6263e49a96b7b96fb4b",
  "_filesize": 2931428,
  "_sha256": "466f2c7fb65a041c3f07383a532d012c288ca2ff0c63d6263e49a96b7b96fb4b",
  "_created": "2026-05-28T10:01:18.000Z",
  "_published": "2026-05-28T10:05:36.604Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78267722101,
      "time": 164,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7263095404"
    },
    {
      "job": 78267722027,
      "time": 113,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7263079331"
    },
    {
      "job": 78267722118,
      "time": 181,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7263088987"
    },
    {
      "job": 78267721970,
      "time": 220,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7263101529"
    },
    {
      "job": 78267223732,
      "time": 184,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7263042031"
    },
    {
      "job": 78267722134,
      "time": 116,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7263079937"
    },
    {
      "job": 78267722071,
      "time": 101,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7263076068"
    },
    {
      "job": 78267722169,
      "time": 83,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7263069680"
    },
    {
      "job": 78267722187,
      "time": 95,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7263073370"
    }
  ],
  "_buildurl": "https://github.com/r-universe/columbia-prime/actions/runs/26567896075",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/columbia-prime/pcpr",
  "_commit": {
    "id": "d4543329c8b4bacb9baffb43c40d3a54de6246a2",
    "author": "lawrence-chillrud <chili@u.northwestern.edu>",
    "committer": "lawrence-chillrud <chili@u.northwestern.edu>",
    "message": "Addressing issues #17, #18, #23. Issue #16 was fixed in previous commit but forgot to highlight. Also updating badges.\n",
    "time": 1743621467
  },
  "_maintainer": {
    "name": "Lawrence G. Chillrud",
    "email": "lawrencechillrud@gmail.com",
    "login": "lawrence-chillrud",
    "description": "PhD Candidate in Electrical Engineering at Northwestern University. Interested in ML/AI for use in precision medicine & public health.",
    "uuid": 61637679,
    "orcid": "0000-0003-0727-0161"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5.0",
      "role": "Depends"
    },
    {
      "package": "checkmate",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "foreach",
      "role": "Imports"
    },
    {
      "package": "furrr",
      "role": "Imports"
    },
    {
      "package": "future",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "progressr",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "tidyselect",
      "role": "Imports"
    },
    {
      "package": "GGally",
      "role": "Suggests"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "lubridate",
      "role": "Suggests"
    },
    {
      "package": "metR",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "tidyr",
      "role": "Suggests"
    }
  ],
  "_owner": "columbia-prime",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_topics": [
    "dimensionality-reduction",
    "environmental-health",
    "environmental-mixtures",
    "epidemiology",
    "machine-learning",
    "pattern-recognition",
    "public-health",
    "statistical-modeling"
  ],
  "_stars": 6,
  "_contributors": [
    {
      "user": "lizzyagibson",
      "count": 84,
      "uuid": 32719036
    },
    {
      "user": "lawrence-chillrud",
      "count": 62,
      "uuid": 61637679
    }
  ],
  "_userbio": {
    "uuid": 69913359,
    "type": "organization",
    "name": "Columbia PRIME",
    "description": "Adapting PCP to environmental health data"
  },
  "_downloads": {
    "count": 176,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/pcpr"
  },
  "_devurl": "https://github.com/columbia-prime/pcpr",
  "_pkgdown": "https://columbia-prime.github.io/pcpr/",
  "_searchresults": 18,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/pcpr.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/columbia-prime/pcpr",
  "_realowner": "columbia-prime",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2025-03-27"
    }
  ],
  "_exports": [
    "get_pcp_defaults",
    "grid_search_cv",
    "hard_threshold",
    "impute_matrix",
    "matrix_rank",
    "proj_rank_r",
    "root_pcp",
    "rrmc",
    "sim_data",
    "sim_lod",
    "sim_na",
    "sing",
    "sparsity"
  ],
  "_datasets": [
    {
      "name": "queens",
      "title": "Daily chemical concentrations of 26 PM2.5 species from Queens, NYC (2001-2021)",
      "object": "queens",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "Date",
        "Al",
        "NH4",
        "As",
        "Ba",
        "Br",
        "Cd",
        "Ca",
        "Cl",
        "Cr",
        "Cu",
        "EC",
        "Fe",
        "Pb",
        "Mg",
        "Mn",
        "Ni",
        "OC",
        "K",
        "Se",
        "Si",
        "Na",
        "S",
        "Ti",
        "NO3",
        "V",
        "Zn"
      ],
      "rows": 2443,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "get_pcp_defaults",
      "title": "Retrieve default PCP parameter settings for given matrix",
      "topics": [
        "get_pcp_defaults"
      ]
    },
    {
      "page": "grid_search_cv",
      "title": "Cross-validated grid search for PCP models",
      "topics": [
        "grid_search_cv"
      ]
    },
    {
      "page": "hard_threshold",
      "title": "Hard-thresholding operator",
      "topics": [
        "hard_threshold"
      ]
    },
    {
      "page": "impute_matrix",
      "title": "Impute missing values in given matrix",
      "topics": [
        "impute_matrix"
      ]
    },
    {
      "page": "matrix_rank",
      "title": "Estimate rank of a given matrix",
      "topics": [
        "matrix_rank"
      ]
    },
    {
      "page": "proj_rank_r",
      "title": "Project matrix to rank r",
      "topics": [
        "proj_rank_r"
      ]
    },
    {
      "page": "queens",
      "title": "Daily chemical concentrations of 26 PM2.5 species from Queens, NYC (2001-2021)",
      "topics": [
        "queens"
      ]
    },
    {
      "page": "root_pcp",
      "title": "Square root principal component pursuit (convex PCP)",
      "topics": [
        "root_pcp"
      ]
    },
    {
      "page": "rrmc",
      "title": "Rank-based robust matrix completion (non-convex PCP)",
      "topics": [
        "rrmc"
      ]
    },
    {
      "page": "sim_data",
      "title": "Simulate simple mixtures data",
      "topics": [
        "sim_data"
      ]
    },
    {
      "page": "sim_lod",
      "title": "Simulate limit of detection data",
      "topics": [
        "sim_lod"
      ]
    },
    {
      "page": "sim_na",
      "title": "Simulate random missingness in a given matrix",
      "topics": [
        "sim_na"
      ]
    },
    {
      "page": "sing",
      "title": "Compute singular values of given matrix",
      "topics": [
        "sing"
      ]
    },
    {
      "page": "sparsity",
      "title": "Estimate sparsity of given matrix",
      "topics": [
        "sparsity"
      ]
    }
  ],
  "_pkglogo": "https://github.com/columbia-prime/pcpr/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/columbia-prime/pcpr/raw/HEAD/README.md",
  "_rundeps": [
    "backports",
    "checkmate",
    "cli",
    "codetools",
    "digest",
    "dplyr",
    "foreach",
    "furrr",
    "future",
    "generics",
    "globals",
    "glue",
    "iterators",
    "lifecycle",
    "listenv",
    "magrittr",
    "parallelly",
    "pillar",
    "pkgconfig",
    "progressr",
    "purrr",
    "R6",
    "rlang",
    "tibble",
    "tidyselect",
    "utf8",
    "vctrs",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "pcp-applied.Rmd",
      "filename": "pcp-applied.html",
      "title": "Air pollution source apportionment with PCP",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Preprocessing",
        "Exploring the raw data",
        "Data standardization",
        "Principal component pursuit",
        "Model selection",
        "Grid search for parameter tuning",
        "Running PCP",
        "The recovered L matrix",
        "The recovered S matrix",
        "PCP and NMF for source apportionment",
        "PCP-NMF Loadings",
        "Variance Explained",
        "Loadings replotted",
        "PCP-NMF Scores",
        "Conclusion",
        "References"
      ],
      "created": "2025-03-20 06:02:26",
      "modified": "2025-04-02 19:17:47",
      "commits": 8
    },
    {
      "source": "pcp-quickstart.Rmd",
      "filename": "pcp-quickstart.html",
      "title": "Quickstart: applying PCP to a simulated environmental mixture",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Simulating data",
        "Model selection",
        "Grid search for parameter tuning",
        "Running PCP",
        "Benchmarking with PCA",
        "Evaluating PCP against the ground truth",
        "After PCP"
      ],
      "created": "2025-03-20 06:02:26",
      "modified": "2025-04-02 19:17:47",
      "commits": 8
    },
    {
      "source": "theory-crash-course.Rmd",
      "filename": "theory-crash-course.html",
      "title": "Theory crash course",
      "engine": "knitr::rmarkdown",
      "headings": [
        "PCP modeling overview",
        "The low-rank matrix",
        "The sparse matrix",
        "Extensions for environmental health data",
        "Missing value functionality",
        "Leveraging potential limit of detection (LOD) information",
        "Non-negativity constraint on the estimated L matrix",
        "Convex vs. non-convex PCP",
        "Convex PCP",
        "Non-convex PCP",
        "PCP parameters",
        "Intuition behind lambda, mu, and eta",
        "Theoretically optimal parameters",
        "Empirically optimal parameters",
        "Tuning parameters with grid_search_cv()",
        "Cross-validation procedure",
        "Best practices for $\\xi$ and $K$",
        "Interpretation of results",
        "Coded example analyses",
        "References"
      ],
      "created": "2025-03-23 00:20:16",
      "modified": "2025-03-25 18:37:39",
      "commits": 5
    }
  ],
  "_score": 5.209515014542631,
  "_indexed": true,
  "_nocasepkg": "pcpr",
  "_universes": [
    "columbia-prime",
    "lawrence-chillrud"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.0.9000",
      "date": "2026-05-28T10:04:05.000Z",
      "distro": "noble",
      "commit": "d4543329c8b4bacb9baffb43c40d3a54de6246a2",
      "fileid": "1626e50c56062a23eebacf1fbc3181ea88b2032cd3d3efe09bcc3f672e45850f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/columbia-prime/actions/runs/26567896075"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.0.9000",
      "date": "2026-05-28T10:03:16.000Z",
      "distro": "noble",
      "commit": "d4543329c8b4bacb9baffb43c40d3a54de6246a2",
      "fileid": "fca377f7ddb1f1b2b29dd5c54060bdd810328ee34d129df48549fa70d8584cbf",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/columbia-prime/actions/runs/26567896075"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.0.0.9000",
      "date": "2026-05-28T10:03:48.000Z",
      "commit": "d4543329c8b4bacb9baffb43c40d3a54de6246a2",
      "fileid": "5c5ed0c4d228b6c86b4164820282436b722e3c13a8bc15ae348545cabf7a20c5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/columbia-prime/actions/runs/26567896075"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.0.0.9000",
      "date": "2026-05-28T10:04:16.000Z",
      "commit": "d4543329c8b4bacb9baffb43c40d3a54de6246a2",
      "fileid": "0c2bf66c002729d509c3bf91a95540327b08cc37f50d670fd629e5317b6744ca",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/columbia-prime/actions/runs/26567896075"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.0.9000",
      "date": "2026-05-28T10:03:33.000Z",
      "commit": "d4543329c8b4bacb9baffb43c40d3a54de6246a2",
      "fileid": "6d8bffafc0f3a706dba7668c6516878d21fba4e2fa68f1428da95d2378463897",
      "status": "success",
      "buildurl": "https://github.com/r-universe/columbia-prime/actions/runs/26567896075"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.0.0.9000",
      "date": "2026-05-28T10:02:57.000Z",
      "commit": "d4543329c8b4bacb9baffb43c40d3a54de6246a2",
      "fileid": "bdabb248359eb528fa0a6bc23485e29377114f441d53d20fdc732c4da9e48ff1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/columbia-prime/actions/runs/26567896075"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.0.0.9000",
      "date": "2026-05-28T10:02:38.000Z",
      "commit": "d4543329c8b4bacb9baffb43c40d3a54de6246a2",
      "fileid": "46e05bea598083c865461e6617ce1bedb8d6be3e7b5f9f4a54a50f641fa0a7d2",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/columbia-prime/actions/runs/26567896075"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.0.0.9000",
      "date": "2026-05-28T10:02:52.000Z",
      "commit": "d4543329c8b4bacb9baffb43c40d3a54de6246a2",
      "fileid": "16529fa1aa7ef316932e34527762e2899b2b4c58d3026ae38f1768ae659b81ab",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/columbia-prime/actions/runs/26567896075"
    }
  ]
}