{
  "_id": "6a49ee4b955f025f549e3574",
  "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-07-03 13:11:31 UTC",
    "User": "root"
  },
  "_user": "davidhofmeyr",
  "_type": "src",
  "_file": "PPCI_0.1.5.tar.gz",
  "_fileid": "https://r2.ropensci.org/0b7f703a5c201749f796d7c957b522d8ee202712219189fc913ba35dafd8baed",
  "_filesize": 9895537,
  "_sha256": "0b7f703a5c201749f796d7c957b522d8ee202712219189fc913ba35dafd8baed",
  "_expires": "2026-10-11T13:19:33.000Z",
  "_created": "2026-07-03T13:11:31.000Z",
  "_published": "2026-07-05T05:40:27.772Z",
  "_jobs": [
    {
      "job": 85196156710,
      "time": 194,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "8067457405"
    },
    {
      "job": 85196156708,
      "time": 184,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "8067452861"
    },
    {
      "job": 85196156761,
      "time": 182,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "8067453021"
    },
    {
      "job": 85196156675,
      "time": 149,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "8067441162"
    },
    {
      "job": 85196156473,
      "time": 59,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 85196156464,
      "time": 142,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 85196156620,
      "time": 166,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "8067437075"
    },
    {
      "job": 85196156713,
      "time": 420,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "8067515215"
    },
    {
      "job": 85196156438,
      "time": 193,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8067389813"
    },
    {
      "job": 85196156588,
      "time": 137,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8067437406"
    },
    {
      "job": 85196156617,
      "time": 138,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "8067438063"
    },
    {
      "job": 85196156456,
      "time": 54,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 85196156722,
      "time": 136,
      "config": "windows-release",
      "r": "4.6.1",
      "check": "WARNING",
      "artifact": "8067436779"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/28662624355",
  "_status": "success",
  "_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": 301,
    "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/PPCI.html",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_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.5.3",
      "os": "mac",
      "version": "0.1.5",
      "date": "2026-04-03T05:34:15.000Z",
      "arch": "aarch64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/355678c58d5ead3e43271c1860b5d54a7e58e854134b59ba72ce5aa97d290716",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/23935202591"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.5",
      "date": "2026-04-03T05:36:18.000Z",
      "arch": "x86_64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/808eb432027f69c9520cd7913b471138061a6d1910aa5cf826dd8cba3f909b4f",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/23935202591"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.5",
      "date": "2026-04-03T05:33:54.000Z",
      "arch": "x86_64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/ddf2fd8bc7e244a9bfae2f8fb7e65b7d5208e547bd77adc86c0b8c8e5c348b00",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/23935202591"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.5",
      "date": "2026-07-03T13:14:19.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/895965d839a684c0ee3315454acc9b6e1ca698e5d6288bfed0c70e6993a12cbd",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/28662624355"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.5",
      "date": "2026-07-03T13:14:18.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/3a7bfa6e377b6f09a86f274c2a71c0db149ebf81841cdefb2c3078297af78259",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/28662624355"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.5",
      "date": "2026-07-03T13:14:08.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/cef74a9b654433f7b0bb5124ac707adbfc119c5b04af141efa96d0b56614e647",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/28662624355"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.1.5",
      "date": "2026-07-03T13:13:43.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/4e5b97016d0b99631c1b6f677690f3c4aa690c53a452bd9617f3c73a614e26dd",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/28662624355"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.5",
      "date": "2026-07-03T13:13:40.000Z",
      "arch": "aarch64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/1d2e158c69598799f0ae5f88f5451caa9be57b0173f057ad1e361f5b0ad36d3c",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/28662624355"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.1.5",
      "date": "2026-07-03T13:16:32.000Z",
      "arch": "x86_64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/fab17d67c40ab5fafd8d16ff99fc1ccba4f9d7f477ba0ab1dabe82725d06d9cb",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/28662624355"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.5",
      "date": "2026-07-03T13:14:08.000Z",
      "arch": "emscripten",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/78fd12f3024f0155137fa354bee3732283e72d80e15cd73c28c25eede3e21314",
      "status": "success",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/28662624355"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.5",
      "date": "2026-07-03T13:13:02.000Z",
      "arch": "x86_64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/95c6872d3eb147eb1cb1d243d624a8205ed865aed3c00fd242089333a3f6ee64",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/28662624355"
    },
    {
      "r": "4.6.1",
      "os": "win",
      "version": "0.1.5",
      "date": "2026-07-03T13:12:57.000Z",
      "arch": "x86_64",
      "commit": "aa8fa12f6ccac9c0355c7f560c2466e6f3609be1",
      "fileid": "https://r2.ropensci.org/1d539371e6702dced2d5ddd3e20bab161f8c2ad6475691229c4a77ab806d3e4d",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/davidhofmeyr/actions/runs/28662624355"
    }
  ]
}