{
  "_id": "6acb3d27fe5cc25786e8c85e",
  "Package": "PPCI",
  "Type": "Package",
  "Title": "Projection Pursuit for Cluster Identification",
  "Version": "0.1.5",
  "Author": "David Hofmeyr <dhofmeyr@sun.ac.za> [aut, cre] Nicos Pavlidis\n<n.pavlidis@lancaster.ac.uk> [aut]",
  "Maintainer": "David Hofmeyr <dhofmeyr@sun.ac.za>",
  "Description": "Implements recently developed projection pursuit\nalgorithms for finding optimal linear cluster separators. The\nclustering algorithms use optimal hyperplane separators based\non minimum density, Pavlidis et. al (2016)\n<https://jmlr.csail.mit.edu/papers/volume17/15-307/15-307.pdf>;\nminimum normalised cut, Hofmeyr (2017)\n<doi:10.1109/TPAMI.2016.2609929>; and maximum variance ratio\nclusterability, Hofmeyr and Pavlidis (2015)\n<doi:10.1109/SSCI.2015.116>.",
  "License": "GPL-3",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "RoxygenNote": "6.1.0",
  "Repository": "https://davidhofmeyr.r-universe.dev",
  "Date/Publication": "2020-03-06 07:03:53 UTC",
  "RemoteUrl": "https://github.com/davidhofmeyr/ppci",
  "RemoteRef": "HEAD",
  "RemoteSha": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-10-09 12:07:15 UTC",
    "User": "root"
  },
  "_user": "davidhofmeyr",
  "_type": "src",
  "_file": "PPCI_0.1.5.tar.gz",
  "_fileid": "https://r2.ropensci.org/9f07103ca2f2b934bd16ad7737514a0adb5d38ea75dbd716fa58cfc6e5f6123f",
  "_filesize": 9894615,
  "_sha256": "9f07103ca2f2b934bd16ad7737514a0adb5d38ea75dbd716fa58cfc6e5f6123f",
  "_expires": "2027-01-17T12:13:54.000Z",
  "_created": "2026-10-09T12:07:15.000Z",
  "_published": "2026-10-11T07:39:19.965Z",
  "_buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/37927671991",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_jobs": [
    {
      "job": 114417982607,
      "time": 142,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "11614876602"
    },
    {
      "job": 114417982617,
      "time": 127,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "11614891497"
    },
    {
      "job": 114417982753,
      "time": 138,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "11614757821"
    },
    {
      "job": 114417983590,
      "time": 123,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "11614827518"
    },
    {
      "job": 114417981984,
      "time": 124,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 114417981951,
      "time": 259,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 114417982877,
      "time": 122,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "11614787606"
    },
    {
      "job": 114417982603,
      "time": 331,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "11615502116"
    },
    {
      "job": 114417982501,
      "time": 186,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11615150876"
    },
    {
      "job": 114417982682,
      "time": 98,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11614554416"
    },
    {
      "job": 114417983149,
      "time": 253,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "11615166516"
    },
    {
      "job": 114417982624,
      "time": 197,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "11615460822"
    },
    {
      "job": 114417982140,
      "time": 56,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 114417983196,
      "time": 226,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "11615410998"
    },
    {
      "job": 114417983264,
      "time": 133,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "11615141227"
    }
  ],
  "_upstream": "https://github.com/davidhofmeyr/ppci",
  "_commit": {
    "id": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
    "author": "DavidHofmeyr <33575492+DavidHofmeyr@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Add files via upload",
    "time": 1583478233
  },
  "_maintainer": {
    "name": "David Hofmeyr",
    "email": "dhofmeyr@sun.ac.za"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 2.10.0",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "RcppArmadillo",
      "role": "LinkingTo"
    },
    {
      "package": "Rcpp",
      "version": ">= 0.12.16",
      "role": "Imports"
    },
    {
      "package": "RcppArmadillo",
      "role": "Imports"
    },
    {
      "package": "rARPACK",
      "role": "Imports"
    }
  ],
  "_owner": "davidhofmeyr",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [],
  "_tags": [],
  "_stars": 2,
  "_contributors": [
    {
      "user": "davidhofmeyr",
      "count": 77,
      "uuid": 33575492
    }
  ],
  "_userbio": {
    "uuid": 33575492,
    "type": "user",
    "name": "DavidHofmeyr",
    "followers": 8
  },
  "_downloads": {
    "count": 279,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/PPCI"
  },
  "_devurl": "https://github.com/davidhofmeyr/ppci",
  "_searchresults": 19,
  "_topics": [
    "openblas",
    "cpp"
  ],
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/manual.pdf",
    "extra/PPCI.html",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_homeurl": "https://github.com/davidhofmeyr/ppci",
  "_realowner": "davidhofmeyr",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.0",
      "date": "2017-11-22"
    },
    {
      "version": "0.1.1",
      "date": "2018-02-16"
    },
    {
      "version": "0.1.2",
      "date": "2018-03-15"
    },
    {
      "version": "0.1.3",
      "date": "2018-10-08"
    },
    {
      "version": "0.1.4",
      "date": "2018-10-25"
    },
    {
      "version": "0.1.5",
      "date": "2020-03-06"
    }
  ],
  "_exports": [
    "add_subtree",
    "cluster_performance",
    "df_mc",
    "df_md",
    "df_md_cpp",
    "df_ncut",
    "dncut_x",
    "f_mc",
    "f_md",
    "f_md_cpp",
    "f_ncut",
    "hp_plot",
    "is_minim",
    "ismin_cpp",
    "mc_b",
    "mcdc",
    "mcdr",
    "mch",
    "mcpp",
    "md_b",
    "md_b_cpp",
    "md_reldepth",
    "mddc",
    "mddr",
    "mdh",
    "mdpp",
    "ncut_b",
    "ncut_x",
    "ncutdc",
    "ncutdr",
    "ncuth",
    "ncutpp",
    "node_plot",
    "norm_vec",
    "optidigits_mean_images",
    "plot.ppci_cluster_solution",
    "plot.ppci_hyperplane_solution",
    "plot.ppci_projection_solution",
    "ppclust.optim",
    "subtree_width",
    "success_ratio",
    "tree_plot",
    "tree_prune",
    "tree_split"
  ],
  "_datasets": [
    {
      "name": "breastcancer",
      "title": "Discrimination of Cancerous and Non-Cancerous Breast Masses",
      "object": "breastcancer",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "dermatology",
      "title": "Eryhemato-Squamous Disease Identification",
      "object": "dermatology",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "optidigits",
      "title": "Optical Recognition of Handwritten Digits",
      "object": "optidigits",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "pendigits",
      "title": "Pen-based Recognition of Handwritten Digits",
      "object": "pendigits",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "phoneme",
      "title": "Speech Recognition through Phoneme Identification",
      "object": "phoneme",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "yale",
      "title": "Face Recognition",
      "object": "yale",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "PPCI-package",
      "title": "Projection Pursuit for Cluster Identification",
      "topics": [
        "PPCI-package",
        "PPCI"
      ]
    },
    {
      "page": "breastcancer",
      "title": "Discrimination of Cancerous and Non-Cancerous Breast Masses",
      "topics": [
        "breastcancer"
      ]
    },
    {
      "page": "cluster_performance",
      "title": "External Cluster Validity Metrics",
      "topics": [
        "cluster_performance"
      ]
    },
    {
      "page": "dermatology",
      "title": "Eryhemato-Squamous Disease Identification",
      "topics": [
        "dermatology"
      ]
    },
    {
      "page": "mcdc",
      "title": "Divisive Clustering Using Maximum Clusterability",
      "topics": [
        "mcdc"
      ]
    },
    {
      "page": "mcdr",
      "title": "Maximum Clusterability Dimension Reduction",
      "topics": [
        "mcdr"
      ]
    },
    {
      "page": "mch",
      "title": "Maximum Clusteriability Hyperplane",
      "topics": [
        "mch"
      ]
    },
    {
      "page": "mddc",
      "title": "Divisive Clustering Using Minimum Density Hyperplanes",
      "topics": [
        "mddc"
      ]
    },
    {
      "page": "mddr",
      "title": "Minimum Density Dimension Reduction",
      "topics": [
        "mddr"
      ]
    },
    {
      "page": "mdh",
      "title": "Minimum Density Hyperplane",
      "topics": [
        "mdh"
      ]
    },
    {
      "page": "ncutdc",
      "title": "Divisive Clustering Using Minimum Normalised Cut Hyperplanes",
      "topics": [
        "ncutdc"
      ]
    },
    {
      "page": "ncutdr",
      "title": "Minimum Normalised Cut Dimension Reduction",
      "topics": [
        "ncutdr"
      ]
    },
    {
      "page": "ncuth",
      "title": "Minimum Normalised Cut Hyperplane",
      "topics": [
        "ncuth"
      ]
    },
    {
      "page": "optidigits",
      "title": "Optical Recognition of Handwritten Digits",
      "topics": [
        "optidigits"
      ]
    },
    {
      "page": "optidigits_mean_images",
      "title": "Visualise Cluster Means from optidigits data set",
      "topics": [
        "optidigits_mean_images"
      ]
    },
    {
      "page": "pendigits",
      "title": "Pen-based Recognition of Handwritten Digits",
      "topics": [
        "pendigits"
      ]
    },
    {
      "page": "phoneme",
      "title": "Speech Recognition through Phoneme Identification",
      "topics": [
        "phoneme"
      ]
    },
    {
      "page": "success_ratio",
      "title": "Evaluate External Valifity os a Binary Partition",
      "topics": [
        "success_ratio"
      ]
    },
    {
      "page": "tree_prune",
      "title": "Prune a Hierarchical Clustering Model",
      "topics": [
        "tree_prune"
      ]
    },
    {
      "page": "tree_split",
      "title": "Split a Leaf in a Hierarchical Clustering Model",
      "topics": [
        "tree_split"
      ]
    },
    {
      "page": "yale",
      "title": "Face Recognition",
      "topics": [
        "yale"
      ]
    }
  ],
  "_readme": "https://github.com/davidhofmeyr/ppci/raw/HEAD/README.md",
  "_rundeps": [
    "lattice",
    "Matrix",
    "rARPACK",
    "Rcpp",
    "RcppArmadillo",
    "RcppEigen",
    "RSpectra"
  ],
  "_sysdeps": [
    {
      "shlib": "libblas",
      "package": "libopenblas0-pthread",
      "source": "openblas",
      "version": "0.3.32+ds-5",
      "name": "openblas",
      "homepage": "https://www.openblas.net/",
      "description": "Optimized BLAS (linear algebra) library (shared lib, pthread)"
    },
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_score": 3.278753600952829,
  "_indexed": true,
  "_nocasepkg": "ppci",
  "_universes": [
    "davidhofmeyr"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.5",
      "date": "2026-10-09T12:09:11.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/a9c3dd236d1eec7d3f03bca8dcbcb37602578015a010eacc563bfe6bd9f83eb9",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/37927671991"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.5",
      "date": "2026-10-09T12:09:08.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/3ff7a40f0030ab112516fadb7a89aeb5aa0243e8cd084fcedd2143376f90c387",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/37927671991"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.5",
      "date": "2026-10-09T12:09:12.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/75ca04504bac3c426323cce9a85ee8c66e786b58cb2b4cc23517f25d81a99b2f",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/37927671991"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.5",
      "date": "2026-10-09T12:09:06.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/6f0a0455d8b4dd5c1e7d05a077143958971f26db92644bf07c3fa7a5b8278bb7",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/37927671991"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.5",
      "date": "2026-10-09T12:09:18.000Z",
      "arch": "aarch64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/81eb9c4a2b225638ab246e0a35fae467d8ff6c8982a28253c9fce33125acdf25",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/37927671991"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.5",
      "date": "2026-10-09T12:11:28.000Z",
      "arch": "x86_64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/b19df9463a3d77a6fba80eb4f05fcafbf8ac1cdcfe755f99b490a4b59d61bd9a",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/37927671991"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.5",
      "date": "2026-10-09T12:09:15.000Z",
      "arch": "emscripten",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/932166b87c813ef4ccf38009d2027017b8b5b917701f0f5cec906ef9a6d3067b",
      "status": "success",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/37927671991"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.5",
      "date": "2026-10-09T12:11:03.000Z",
      "arch": "aarch64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/06c1de68686d585dfb77a39a5521e1406f50b66bb2251207c0aefcf93e182cc9",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/37927671991"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.5",
      "date": "2026-10-09T12:09:06.000Z",
      "arch": "x86_64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/7e229a26d1940289338d7296f2e33df8e4f6ad9acc0e37ca45457773f44035a1",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/37927671991"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.5",
      "date": "2026-10-09T12:10:36.000Z",
      "arch": "aarch64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/ca48b41dc99cd29a58bdefc2b290008cb561910855c3cbce88168df17d079591",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/37927671991"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.5",
      "date": "2026-10-09T12:08:39.000Z",
      "arch": "x86_64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/afe2f36507b148f7acfa6ee57786c7e1b8121e6884a4e91545f95a9f57f7ea19",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/37927671991"
    }
  ]
}