{
  "_id": "6a17f96dacfb0bcc41da97d2",
  "Package": "handwriterRF",
  "Type": "Package",
  "Title": "Handwriting Analysis with Random Forests",
  "Version": "1.1.1.9000",
  "Authors@R": "c(person(\"Iowa State University of Science and Technology on behalf of its Center for Statistics and Applications in Forensic Evidence\", role = c(\"aut\", \"cph\", \"fnd\")),\nperson(\"Stephanie\", \"Reinders\", role = c(\"aut\", \"cre\"), email = \"reinders.stephanie@gmail.com\"))",
  "Maintainer": "Stephanie Reinders <reinders.stephanie@gmail.com>",
  "Description": "Perform forensic handwriting analysis of two scanned\nhandwritten documents. This package implements the statistical\nmethod described by Madeline Johnson and Danica Ommen (2021)\n<doi:10.1002/sam.11566>. Similarity measures and a random\nforest produce a score-based likelihood ratio that quantifies\nthe strength of the evidence in favor of the documents being\nwritten by the same writer or different writers.",
  "License": "GPL (>= 3)",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "RoxygenNote": "7.3.2",
  "Config/testthat/edition": "3",
  "URL": "https://github.com/CSAFE-ISU/handwriterRF",
  "BugReports": "https://github.com/CSAFE-ISU/handwriterRF/issues",
  "Roxygen": "list(markdown = TRUE)",
  "VignetteBuilder": "knitr",
  "Config/pak/sysreqs": "cmake libglpk-dev make jags libicu-dev libpng-dev\nlibxml2-dev",
  "Repository": "https://csafe-isu.r-universe.dev",
  "Date/Publication": "2025-09-30 18:04:52 UTC",
  "RemoteUrl": "https://github.com/csafe-isu/handwriterrf",
  "RemoteRef": "HEAD",
  "RemoteSha": "8e4bbaeb52eaf71d7c1b46d05348a614e1b9df1b",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-28 08:02:45 UTC",
    "User": "root"
  },
  "Author": "Iowa State University of Science and Technology on behalf of its Center\nfor Statistics and Applications in Forensic Evidence [aut, cph,\nfnd],\nStephanie Reinders [aut, cre]",
  "MD5sum": "2c85c28058d2317097d5d3eba9c9d8d8",
  "_user": "csafe-isu",
  "_type": "src",
  "_file": "handwriterRF_1.1.1.9000.tar.gz",
  "_fileid": "bed1f781d5c6e1c34bf71ee77196abba28ab33549dfd655177712fa741f2b0f7",
  "_filesize": 3279770,
  "_sha256": "bed1f781d5c6e1c34bf71ee77196abba28ab33549dfd655177712fa741f2b0f7",
  "_created": "2026-05-28T08:02:45.000Z",
  "_published": "2026-05-28T08:14:37.050Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 78248964308,
      "time": 359,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7260823928"
    },
    {
      "job": 78248964459,
      "time": 385,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7260832525"
    },
    {
      "job": 78248964379,
      "time": 448,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7260840627"
    },
    {
      "job": 78248964528,
      "time": 327,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7260805723"
    },
    {
      "job": 78248166921,
      "time": 312,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7260714438"
    },
    {
      "job": 78248964375,
      "time": 136,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7260756345"
    },
    {
      "job": 78248964356,
      "time": 669,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7260920947"
    },
    {
      "job": 78248964320,
      "time": 616,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7260905030"
    },
    {
      "job": 78248964321,
      "time": 583,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7260893668"
    }
  ],
  "_buildurl": "https://github.com/r-universe/csafe-isu/actions/runs/26562325260",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/csafe-isu/handwriterrf",
  "_commit": {
    "id": "8e4bbaeb52eaf71d7c1b46d05348a614e1b9df1b",
    "author": "Stephanie Reinders <30669200+stephaniereinders@users.noreply.github.com>",
    "committer": "GitHub <noreply@github.com>",
    "message": "Merge pull request #47 from ahgamut/uneven-row\n\ndf2 rows assigned incorrectly",
    "time": 1759255492
  },
  "_maintainer": {
    "name": "Stephanie Reinders",
    "email": "reinders.stephanie@gmail.com",
    "login": "stephaniereinders",
    "description": "I am a research scientist at @CSAFE-ISU. ",
    "uuid": 30669200
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5",
      "role": "Depends"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "handwriter",
      "version": ">= 3.2.4",
      "role": "Imports"
    },
    {
      "package": "lifecycle",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "purrr",
      "role": "Imports"
    },
    {
      "package": "ranger",
      "role": "Imports"
    },
    {
      "package": "reshape2",
      "role": "Imports"
    },
    {
      "package": "stringr",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "tidyselect",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "tibble",
      "role": "Suggests"
    }
  ],
  "_owner": "csafe-isu",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2025-32",
      "n": 1
    },
    {
      "week": "2025-33",
      "n": 1
    },
    {
      "week": "2025-40",
      "n": 1
    }
  ],
  "_tags": [],
  "_stars": 2,
  "_contributors": [
    {
      "user": "stephaniereinders",
      "count": 227,
      "uuid": 30669200
    },
    {
      "user": "ahgamut",
      "count": 1,
      "uuid": 41098605
    }
  ],
  "_userbio": {
    "uuid": 28318210,
    "type": "organization",
    "name": "Center for Statistics and Applications in Forensic Evidence",
    "description": "CSAFE works to build a statistically sound and scientifically solid foundation for the analysis and interpretation of forensic evidence"
  },
  "_downloads": {
    "count": 173,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/handwriterRF"
  },
  "_devurl": "https://github.com/csafe-isu/handwriterrf",
  "_searchresults": 15,
  "_topics": [
    "jags",
    "cpp"
  ],
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/handwriterRF.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/csafe-isu/handwriterrf",
  "_realowner": "csafe-isu",
  "_cranurl": true,
  "_releases": [
    {
      "version": "1.0.2",
      "date": "2024-11-03"
    },
    {
      "version": "1.1.0",
      "date": "2025-01-27"
    },
    {
      "version": "1.1.1",
      "date": "2025-01-29"
    }
  ],
  "_exports": [
    "%>%",
    "calculate_slr",
    "compare_documents",
    "compare_writer_profiles",
    "get_cluster_fill_rates",
    "get_distances",
    "get_rates_of_misleading_slrs",
    "get_ref_scores",
    "interpret_slr",
    "plot_scores",
    "train_rf"
  ],
  "_datasets": [
    {
      "name": "cfc",
      "title": "A Dataframe of Cluster Fill Counts",
      "object": "cfc",
      "class": [
        "grouped_df",
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "docname",
        "writer",
        "doc",
        "3",
        "10",
        "12",
        "15",
        "16",
        "17",
        "19",
        "20",
        "23",
        "25",
        "27",
        "39"
      ],
      "rows": 2,
      "table": true,
      "tojson": true
    },
    {
      "name": "random_forest",
      "title": "A 'ranger' Random Forest and Data Frame of Distances",
      "object": "random_forest",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "ref_scores",
      "title": "Reference Similarity Scores",
      "object": "ref_scores",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "templateK40",
      "title": "Cluster Template with 40 Clusters",
      "object": "templateK40",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "test",
      "title": "A Test Set of Cluster Fill Rates",
      "object": "test",
      "class": [
        "data.frame"
      ],
      "fields": [
        "docname",
        "writer",
        "doc",
        "total_graphs",
        "cluster1",
        "cluster2",
        "cluster3",
        "cluster4",
        "cluster5",
        "cluster6",
        "cluster7",
        "cluster8",
        "cluster9",
        "cluster10",
        "cluster11",
        "cluster12",
        "cluster13",
        "cluster14",
        "cluster15",
        "cluster16",
        "cluster17",
        "cluster18",
        "cluster19",
        "cluster20",
        "cluster21",
        "cluster22",
        "cluster23",
        "cluster24",
        "cluster25",
        "cluster26",
        "cluster27",
        "cluster28",
        "cluster29",
        "cluster30",
        "cluster31",
        "cluster32",
        "cluster33",
        "cluster34",
        "cluster35",
        "cluster36",
        "cluster37",
        "cluster38",
        "cluster39",
        "cluster40"
      ],
      "rows": 1699,
      "table": true,
      "tojson": true
    },
    {
      "name": "train",
      "title": "A Training Set of Cluster Fill Rates",
      "object": "train",
      "class": [
        "data.frame"
      ],
      "fields": [
        "docname",
        "writer",
        "doc",
        "total_graphs",
        "cluster1",
        "cluster2",
        "cluster3",
        "cluster4",
        "cluster5",
        "cluster6",
        "cluster7",
        "cluster8",
        "cluster9",
        "cluster10",
        "cluster11",
        "cluster12",
        "cluster13",
        "cluster14",
        "cluster15",
        "cluster16",
        "cluster17",
        "cluster18",
        "cluster19",
        "cluster20",
        "cluster21",
        "cluster22",
        "cluster23",
        "cluster24",
        "cluster25",
        "cluster26",
        "cluster27",
        "cluster28",
        "cluster29",
        "cluster30",
        "cluster31",
        "cluster32",
        "cluster33",
        "cluster34",
        "cluster35",
        "cluster36",
        "cluster37",
        "cluster38",
        "cluster39",
        "cluster40"
      ],
      "rows": 800,
      "table": true,
      "tojson": true
    },
    {
      "name": "validation",
      "title": "A Validation Set of Cluster Fill Rates",
      "object": "validation",
      "class": [
        "data.frame"
      ],
      "fields": [
        "docname",
        "writer",
        "doc",
        "total_graphs",
        "cluster1",
        "cluster2",
        "cluster3",
        "cluster4",
        "cluster5",
        "cluster6",
        "cluster7",
        "cluster8",
        "cluster9",
        "cluster10",
        "cluster11",
        "cluster12",
        "cluster13",
        "cluster14",
        "cluster15",
        "cluster16",
        "cluster17",
        "cluster18",
        "cluster19",
        "cluster20",
        "cluster21",
        "cluster22",
        "cluster23",
        "cluster24",
        "cluster25",
        "cluster26",
        "cluster27",
        "cluster28",
        "cluster29",
        "cluster30",
        "cluster31",
        "cluster32",
        "cluster33",
        "cluster34",
        "cluster35",
        "cluster36",
        "cluster37",
        "cluster38",
        "cluster39",
        "cluster40"
      ],
      "rows": 1200,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "calculate_slr",
      "title": "Calculate a Score-Based Likelihood Ratio",
      "topics": [
        "calculate_slr"
      ]
    },
    {
      "page": "cfc",
      "title": "A Dataframe of Cluster Fill Counts",
      "topics": [
        "cfc"
      ]
    },
    {
      "page": "compare_documents",
      "title": "Compare Documents",
      "topics": [
        "compare_documents"
      ]
    },
    {
      "page": "compare_writer_profiles",
      "title": "Compare Writer Profiles",
      "topics": [
        "compare_writer_profiles"
      ]
    },
    {
      "page": "get_cluster_fill_rates",
      "title": "Get Cluster Fill Rates",
      "topics": [
        "get_cluster_fill_rates"
      ]
    },
    {
      "page": "get_distances",
      "title": "Get Distances",
      "topics": [
        "get_distances"
      ]
    },
    {
      "page": "get_rates_of_misleading_slrs",
      "title": "Get Rates of Misleading Evidence for SLRs",
      "topics": [
        "get_rates_of_misleading_slrs"
      ]
    },
    {
      "page": "get_ref_scores",
      "title": "Get Reference Scores",
      "topics": [
        "get_ref_scores"
      ]
    },
    {
      "page": "interpret_slr",
      "title": "Interpret an SLR Value",
      "topics": [
        "interpret_slr"
      ]
    },
    {
      "page": "plot_scores",
      "title": "Plot Scores",
      "topics": [
        "plot_scores"
      ]
    },
    {
      "page": "random_forest",
      "title": "A 'ranger' Random Forest and Data Frame of Distances",
      "topics": [
        "random_forest"
      ]
    },
    {
      "page": "ref_scores",
      "title": "Reference Similarity Scores",
      "topics": [
        "ref_scores"
      ]
    },
    {
      "page": "templateK40",
      "title": "Cluster Template with 40 Clusters",
      "topics": [
        "templateK40"
      ]
    },
    {
      "page": "test",
      "title": "A Test Set of Cluster Fill Rates",
      "topics": [
        "test"
      ]
    },
    {
      "page": "train",
      "title": "A Training Set of Cluster Fill Rates",
      "topics": [
        "train"
      ]
    },
    {
      "page": "train_rf",
      "title": "Train a Random Forest",
      "topics": [
        "train_rf"
      ]
    },
    {
      "page": "validation",
      "title": "A Validation Set of Cluster Fill Rates",
      "topics": [
        "validation"
      ]
    }
  ],
  "_readme": "https://github.com/csafe-isu/handwriterrf/raw/HEAD/README.md",
  "_rundeps": [
    "abind",
    "backports",
    "boot",
    "broom",
    "car",
    "carData",
    "cli",
    "coda",
    "codetools",
    "colorspace",
    "corrplot",
    "cowplot",
    "cpp11",
    "Deriv",
    "doBy",
    "doParallel",
    "dplyr",
    "farver",
    "foreach",
    "forecast",
    "Formula",
    "fracdiff",
    "generics",
    "ggplot2",
    "ggpubr",
    "ggrepel",
    "ggsci",
    "ggsignif",
    "glue",
    "gridExtra",
    "gtable",
    "handwriter",
    "igraph",
    "isoband",
    "iterators",
    "labeling",
    "lattice",
    "lifecycle",
    "lme4",
    "lmtest",
    "lpSolve",
    "magrittr",
    "MASS",
    "Matrix",
    "MatrixModels",
    "mc2d",
    "mgcv",
    "microbenchmark",
    "minqa",
    "modelr",
    "mvtnorm",
    "nlme",
    "nloptr",
    "nnet",
    "numDeriv",
    "pbkrtest",
    "pillar",
    "pkgconfig",
    "plyr",
    "png",
    "polynom",
    "purrr",
    "quantreg",
    "R6",
    "ranger",
    "rbibutils",
    "RColorBrewer",
    "Rcpp",
    "RcppArmadillo",
    "RcppEigen",
    "RcppParallel",
    "Rdpack",
    "reformulas",
    "reshape2",
    "Rfast",
    "rjags",
    "rlang",
    "rstatix",
    "S7",
    "scales",
    "SparseM",
    "stringi",
    "stringr",
    "survival",
    "tibble",
    "tidyr",
    "tidyselect",
    "timeDate",
    "urca",
    "utf8",
    "vctrs",
    "viridisLite",
    "withr",
    "zigg",
    "zoo"
  ],
  "_sysdeps": [
    {
      "shlib": "libjags",
      "package": "jags",
      "headers": "jags",
      "source": "jags",
      "version": "4.3.2-2.2404.0",
      "name": "jags",
      "homepage": "https://mcmc-jags.sourceforge.io",
      "description": "Just Another Gibbs Sampler for Bayesian MCMC - binary\nJAGS is Just Another Gibbs Sampler.  It is a program for analysis of\nBayesian hierarchical models using Markov Chain Monte Carlo (MCMC)\nsimulation not wholly unlike BUGS.\n\nJAGS was written with three aims in mind:\n* To have an engine for the BUGS language that runs on Unix\n* To be extensible, allowing users to write their own functions,\ndistributions and samplers.\n* To be a plaftorm for experimentation with ideas in Bayesian modelling\n\nThis package contains the 'jags' binary as well as the associated\nshared library modules loaded by the binary."
    },
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "14.2.0-4ubuntu2~24.04.1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "introduction-to-slr-model.Rmd",
      "filename": "introduction-to-slr-model.html",
      "title": "An Introduction to the SLR Model",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Handwriting Data",
        "Writer Profiles",
        "Constucting Reference Similarity Scores with a Random Forest",
        "Training a Random Forest",
        "Calculating Reference Similarity Scores",
        "Compare Two Test Handwriting Samples",
        "Similarity Score",
        "Score-based Likelihood Ratio"
      ],
      "created": "2025-01-25 15:28:01",
      "modified": "2025-01-25 15:28:01",
      "commits": 1
    },
    {
      "source": "training-slr-model.Rmd",
      "filename": "training-slr-model.html",
      "title": "Training an SLR Model",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Training Data",
        "Train a Random Forest",
        "Estimate Writer Profiles",
        "Create a Reference Set of Similarity Scores",
        "Compare Documents with New Random Forest and Reference Scores"
      ],
      "created": "2025-01-25 15:28:01",
      "modified": "2025-01-28 20:34:50",
      "commits": 2
    }
  ],
  "_score": 5.431363764158988,
  "_indexed": true,
  "_nocasepkg": "handwriterrf",
  "_universes": [
    "csafe-isu",
    "stephaniereinders"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1.1.9000",
      "date": "2026-05-28T08:05:39.000Z",
      "distro": "noble",
      "commit": "8e4bbaeb52eaf71d7c1b46d05348a614e1b9df1b",
      "fileid": "78354bb38d7fdbb8a0e1022c6f2e9d300a3915382beb31e32b7985483387bade",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/csafe-isu/actions/runs/26562325260"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.1.1.9000",
      "date": "2026-05-28T08:05:20.000Z",
      "distro": "noble",
      "commit": "8e4bbaeb52eaf71d7c1b46d05348a614e1b9df1b",
      "fileid": "e76c102e417f293f361f93aac3e956ee03db38c916b4d38f9cc344f1eb47e3da",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/csafe-isu/actions/runs/26562325260"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.1.1.9000",
      "date": "2026-05-28T08:04:50.000Z",
      "commit": "8e4bbaeb52eaf71d7c1b46d05348a614e1b9df1b",
      "fileid": "e2cacc4183f03cc0c76e61ab9a0b9755c42a39bb597bb805964f630697efada4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/csafe-isu/actions/runs/26562325260"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.1.1.9000",
      "date": "2026-05-28T08:04:37.000Z",
      "commit": "8e4bbaeb52eaf71d7c1b46d05348a614e1b9df1b",
      "fileid": "7fa9641e243f96285bc723f189f810d1f37727a80246b824f4333990e2416036",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/csafe-isu/actions/runs/26562325260"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.1.1.9000",
      "date": "2026-05-28T08:05:18.000Z",
      "commit": "8e4bbaeb52eaf71d7c1b46d05348a614e1b9df1b",
      "fileid": "b8bbdfaccfdd69abdccbe057d4c26029917c8122675e1f87634e14f7c76e08f7",
      "status": "success",
      "buildurl": "https://github.com/r-universe/csafe-isu/actions/runs/26562325260"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.1.1.9000",
      "date": "2026-05-28T08:04:23.000Z",
      "commit": "8e4bbaeb52eaf71d7c1b46d05348a614e1b9df1b",
      "fileid": "7762bad827e8cbf147137f86dc70a729a31de2452eb466a006f6087b74c754b9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/csafe-isu/actions/runs/26562325260"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.1.1.9000",
      "date": "2026-05-28T08:04:13.000Z",
      "commit": "8e4bbaeb52eaf71d7c1b46d05348a614e1b9df1b",
      "fileid": "47e830a6ede4fd0c0895eebebbd4311dd30663c9270f0f0333e404e06b6102b8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/csafe-isu/actions/runs/26562325260"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.1.1.9000",
      "date": "2026-05-28T08:04:23.000Z",
      "commit": "8e4bbaeb52eaf71d7c1b46d05348a614e1b9df1b",
      "fileid": "9e668aaf856ee12f8e67a827c2476fa4b5ca7381c906272e694e23eb4d05209b",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/csafe-isu/actions/runs/26562325260"
    }
  ]
}