{
  "_id": "6a3d298ca319ef941447670e",
  "Package": "prepR4pcm",
  "Title": "Prepare Data and Trees for Phylogenetic Comparative Methods",
  "Version": "1.0.0",
  "Authors@R": "c(\nperson(\"Shinichi\", \"Nakagawa\",\nemail = \"itchyshin@gmail.com\",\nrole = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0002-7765-5182\")),\nperson(\"Santiago\", \"Ortega\",\nrole = \"aut\"),\nperson(\"Ayumi\", \"Mizuno\",\nrole = \"aut\"),\nperson(\"Eduardo S.A.\", \"Santos\",\nrole = \"aut\"),\nperson(\"Malgorzata\", \"Lagisz\",\nrole = \"aut\",\ncomment = c(ORCID = \"0000-0002-3993-6127\")),\nperson(\"Bhavya\", \"Jain\",\nrole = \"aut\"),\nperson(\"Jimuel Jr\", \"Celeste\",\nrole = \"aut\"),\nperson(\"Sergio\", \"Poo Hernandez\",\nemail = \"pooherna@ualberta.ca\",\nrole = \"aut\")\n)",
  "Description": "Reconcile species names across datasets and phylogenetic\ntrees for comparative biology workflows. Identifies mismatches\ndue to formatting differences, taxonomic synonymy, and spelling\nerrors. Produces detailed reports documenting how each name was\nresolved, which taxonomic authority was used, and what remains\nunresolved. Supports exact matching, name normalisation,\nsynonym resolution via local taxonomic databases, and fuzzy\nmatching for likely typos. Detects taxonomic splits and lumps.\nFor methodological context, see Nakagawa et al. (2026)\n<doi:10.32942/X2468Z>.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/itchyshin/prepR4pcm,\nhttps://itchyshin.github.io/prepR4pcm/",
  "BugReports": "https://github.com/itchyshin/prepR4pcm/issues",
  "Date": "2026-06-16",
  "Language": "en-GB",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "Config/testthat/edition": "3",
  "VignetteBuilder": "knitr",
  "Config/roxygen2/version": "8.0.0",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-25 13:08:33 UTC",
    "User": "root"
  },
  "Author": "Shinichi Nakagawa [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0002-7765-5182>), Santiago Ortega\n[aut], Ayumi Mizuno [aut], Eduardo S.A. Santos [aut],\nMalgorzata Lagisz [aut] (ORCID:\n<https://orcid.org/0000-0002-3993-6127>), Bhavya Jain [aut],\nJimuel Jr Celeste [aut], Sergio Poo Hernandez [aut]",
  "Maintainer": "Shinichi Nakagawa <itchyshin@gmail.com>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-06-25 12:36:49 UTC",
  "RemoteUrl": "https://github.com/cran/prepR4pcm",
  "RemoteRef": "HEAD",
  "RemoteSha": "b78fe29addf5d4cf917c17b421e31a2348ed37d8",
  "MD5sum": "87c09392712511cf184fffbea454f3d6",
  "_user": "cran",
  "_type": "src",
  "_file": "prepR4pcm_1.0.0.tar.gz",
  "_fileid": "1d57198968ad986cc09832babad693b25d027bb3eaeb103af338572651ccf552",
  "_filesize": 4151765,
  "_sha256": "1d57198968ad986cc09832babad693b25d027bb3eaeb103af338572651ccf552",
  "_created": "2026-06-25T13:08:33.000Z",
  "_published": "2026-06-25T13:13:48.809Z",
  "_distro": "resolute",
  "_jobs": [
    {
      "job": 83439851038,
      "time": 260,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7879137345"
    },
    {
      "job": 83439851087,
      "time": 270,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7879141607"
    },
    {
      "job": 83438686869,
      "time": 331,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7879021501"
    },
    {
      "job": 83439850966,
      "time": 187,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7879105169"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/28171868900",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/prepR4pcm",
  "_commit": {
    "id": "b78fe29addf5d4cf917c17b421e31a2348ed37d8",
    "author": "Shinichi Nakagawa <itchyshin@gmail.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.0.0\n",
    "time": 1782391009
  },
  "_maintainer": {
    "name": "Shinichi Nakagawa",
    "email": "itchyshin@gmail.com",
    "login": "itchyshin",
    "orcid": "0000-0002-7765-5182",
    "description": "An evolutionary biologist (with some Darwinian fitness in his arms), trying to learn how to use Git and R together. ",
    "uuid": 12078523
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "ape",
      "role": "Imports"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "caper",
      "role": "Suggests"
    },
    {
      "package": "clootl",
      "role": "Suggests"
    },
    {
      "package": "digest",
      "role": "Suggests"
    },
    {
      "package": "dplyr",
      "role": "Suggests"
    },
    {
      "package": "fishtree",
      "role": "Suggests"
    },
    {
      "package": "httr2",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "MCMCglmm",
      "role": "Suggests"
    },
    {
      "package": "phytools",
      "role": "Suggests"
    },
    {
      "package": "piggyback",
      "role": "Suggests"
    },
    {
      "package": "pkgdown",
      "role": "Suggests"
    },
    {
      "package": "readr",
      "role": "Suggests"
    },
    {
      "package": "rgnparser",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "rotl",
      "role": "Suggests"
    },
    {
      "package": "rtrees",
      "role": "Suggests"
    },
    {
      "package": "spelling",
      "role": "Suggests"
    },
    {
      "package": "stringr",
      "role": "Suggests"
    },
    {
      "package": "taxadb",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-26",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "1.0.0",
      "date": "2026-06-25"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "itchyshin",
      "count": 1,
      "uuid": 12078523
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 611,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/prepR4pcm"
  },
  "_devurl": "https://github.com/itchyshin/prepr4pcm",
  "_pkgdown": "https://itchyshin.github.io/prepR4pcm/",
  "_searchresults": 19,
  "_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/prepR4pcm.html",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2026-06-25"
    }
  ],
  "_exports": [
    "pr_cite_tree",
    "pr_date_tree",
    "pr_extract_tips",
    "pr_get_tree",
    "pr_get_tree_status",
    "pr_normalize_names",
    "pr_phylo_cor",
    "pr_tree_cache_clear",
    "pr_tree_cache_dir",
    "pr_tree_cache_status",
    "pr_tree_compare",
    "reconcile_apply",
    "reconcile_augment",
    "reconcile_crosswalk",
    "reconcile_data",
    "reconcile_diff",
    "reconcile_export",
    "reconcile_mapping",
    "reconcile_merge",
    "reconcile_multi",
    "reconcile_override",
    "reconcile_override_batch",
    "reconcile_plot",
    "reconcile_report",
    "reconcile_review",
    "reconcile_splits_lumps",
    "reconcile_suggest",
    "reconcile_summary",
    "reconcile_to_trees",
    "reconcile_tree",
    "reconcile_trees"
  ],
  "_datasets": [
    {
      "name": "avonet_subset",
      "title": "AVONET morphological trait data (subset)",
      "object": "avonet_subset",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Species1",
        "Family1",
        "Order1",
        "Beak.Length_Culmen",
        "Beak.Length_Nares",
        "Beak.Width",
        "Beak.Depth",
        "Tarsus.Length",
        "Wing.Length",
        "Mass",
        "Habitat",
        "Habitat.Density",
        "Migration",
        "Trophic.Level",
        "Trophic.Niche",
        "Primary.Lifestyle"
      ],
      "rows": 919,
      "table": true,
      "tojson": true
    },
    {
      "name": "crosswalk_birdlife_birdtree",
      "title": "BirdLife-BirdTree taxonomy crosswalk",
      "object": "crosswalk_birdlife_birdtree",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Species1",
        "Species3",
        "Match.type",
        "Match.notes"
      ],
      "rows": 11285,
      "table": true,
      "tojson": true
    },
    {
      "name": "delhey_subset",
      "title": "Plumage lightness data (subset)",
      "object": "delhey_subset",
      "class": [
        "data.frame"
      ],
      "fields": [
        "TipLabel",
        "family",
        "annual_mean_temperature",
        "annual_precipitation",
        "lightness_male",
        "lightness_female"
      ],
      "rows": 651,
      "table": true,
      "tojson": true
    },
    {
      "name": "mammal_amniote_example",
      "title": "Amniote-style mammal life-history sample",
      "object": "mammal_amniote_example",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "name",
        "female_body_mass_g",
        "adult_body_mass_g",
        "litter_or_clutch_size_n",
        "litters_or_clutches_per_y"
      ],
      "rows": 4953,
      "table": true,
      "tojson": true
    },
    {
      "name": "mammal_pantheria_example",
      "title": "PanTHERIA-style mammal life-history sample",
      "object": "mammal_pantheria_example",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "MSW05_Binomial",
        "5-1_AdultBodyMass_g",
        "15-1_LitterSize",
        "16-1_LittersPerYear"
      ],
      "rows": 5416,
      "table": true,
      "tojson": true
    },
    {
      "name": "mammal_tetrapodtraits_example",
      "title": "TetrapodTraits-style mammal sample",
      "object": "mammal_tetrapodtraits_example",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "Scientific.Name",
        "BodyMass_g",
        "LitterSize"
      ],
      "rows": 5911,
      "table": true,
      "tojson": true
    },
    {
      "name": "mammal_tree_example",
      "title": "Mammal phylogenetic tree (example)",
      "object": "mammal_tree_example",
      "class": [
        "phylo"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "nesttrait_subset",
      "title": "Nest trait data (subset)",
      "object": "nesttrait_subset",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Scientific_name",
        "Order",
        "Family",
        "Common_name",
        "NestSite_ground",
        "NestSite_tree",
        "NestSite_nontree",
        "NestSite_cliff_bank",
        "NestStr_scrape",
        "NestStr_platform",
        "NestStr_cup",
        "NestStr_dome",
        "NestStr_primary_cavity",
        "NestStr_second_cavity"
      ],
      "rows": 916,
      "table": true,
      "tojson": true
    },
    {
      "name": "tree_clements25",
      "title": "Clements 2025 phylogenetic tree (subset)",
      "object": "tree_clements25",
      "class": [
        "phylo"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    },
    {
      "name": "tree_jetz",
      "title": "Jetz (2012) phylogenetic tree (subset)",
      "object": "tree_jetz",
      "class": [
        "phylo"
      ],
      "fields": [],
      "table": false,
      "tojson": false
    }
  ],
  "_help": [
    {
      "page": "avonet_subset",
      "title": "AVONET morphological trait data (subset)",
      "topics": [
        "avonet_subset"
      ]
    },
    {
      "page": "crosswalk_birdlife_birdtree",
      "title": "BirdLife-BirdTree taxonomy crosswalk",
      "topics": [
        "crosswalk_birdlife_birdtree"
      ]
    },
    {
      "page": "delhey_subset",
      "title": "Plumage lightness data (subset)",
      "topics": [
        "delhey_subset"
      ]
    },
    {
      "page": "mammal_amniote_example",
      "title": "Amniote-style mammal life-history sample",
      "topics": [
        "mammal_amniote_example"
      ]
    },
    {
      "page": "mammal_pantheria_example",
      "title": "PanTHERIA-style mammal life-history sample",
      "topics": [
        "mammal_pantheria_example"
      ]
    },
    {
      "page": "mammal_tetrapodtraits_example",
      "title": "TetrapodTraits-style mammal sample",
      "topics": [
        "mammal_tetrapodtraits_example"
      ]
    },
    {
      "page": "mammal_tree_example",
      "title": "Mammal phylogenetic tree (example)",
      "topics": [
        "mammal_tree_example"
      ]
    },
    {
      "page": "nesttrait_subset",
      "title": "Nest trait data (subset)",
      "topics": [
        "nesttrait_subset"
      ]
    },
    {
      "page": "pr_cite_tree",
      "title": "Format the citations for a tree result",
      "topics": [
        "pr_cite_tree"
      ]
    },
    {
      "page": "pr_date_tree",
      "title": "Time-calibrate a topology using the DateLife chronogram database",
      "topics": [
        "pr_date_tree"
      ]
    },
    {
      "page": "pr_extract_tips",
      "title": "Extract tip labels from a phylogenetic tree",
      "concept": [
        "name utilities"
      ],
      "topics": [
        "pr_extract_tips"
      ]
    },
    {
      "page": "pr_get_tree",
      "title": "Retrieve a candidate phylogeny for a species list",
      "topics": [
        "pr_get_tree"
      ]
    },
    {
      "page": "pr_get_tree_status",
      "title": "Report the install status of every 'pr_get_tree()' backend",
      "topics": [
        "pr_get_tree_status"
      ]
    },
    {
      "page": "pr_normalize_names",
      "title": "Normalise scientific names to a canonical form",
      "concept": [
        "name utilities"
      ],
      "topics": [
        "pr_normalize_names"
      ]
    },
    {
      "page": "pr_phylo_cor",
      "title": "Phylogenetic correlation matrix from a tree",
      "topics": [
        "pr_phylo_cor"
      ]
    },
    {
      "page": "pr_tree_cache_clear",
      "title": "Clear the local tree-retrieval cache",
      "topics": [
        "pr_tree_cache_clear"
      ]
    },
    {
      "page": "pr_tree_cache_dir",
      "title": "Get or set the local tree-retrieval cache directory",
      "topics": [
        "pr_tree_cache_dir"
      ]
    },
    {
      "page": "pr_tree_cache_status",
      "title": "Show the contents of the local tree-retrieval cache",
      "topics": [
        "pr_tree_cache_status"
      ]
    },
    {
      "page": "pr_tree_compare",
      "title": "Compare two or more phylogenetic trees",
      "topics": [
        "pr_tree_compare"
      ]
    },
    {
      "page": "reconcile_apply",
      "title": "Apply a reconciliation to produce an aligned data-tree pair",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_apply"
      ]
    },
    {
      "page": "reconcile_augment",
      "title": "Graft missing species onto a phylogenetic tree (genus-level placement)",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_augment"
      ]
    },
    {
      "page": "reconcile_crosswalk",
      "title": "Convert a published taxonomy crosswalk into an overrides table",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_crosswalk"
      ]
    },
    {
      "page": "reconcile_data",
      "title": "Reconcile species names between two datasets",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_data"
      ]
    },
    {
      "page": "reconcile_diff",
      "title": "Diff two reconciliations to see what changed",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_diff"
      ]
    },
    {
      "page": "reconcile_export",
      "title": "Write an aligned dataset, tree, and mapping table to disk",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_export"
      ]
    },
    {
      "page": "reconcile_mapping",
      "title": "Extract the per-name mapping table from a reconciliation",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_mapping"
      ]
    },
    {
      "page": "reconcile_merge",
      "title": "Merge two reconciled datasets",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_merge"
      ]
    },
    {
      "page": "reconcile_multi",
      "title": "Reconcile several datasets against one phylogenetic tree",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_multi"
      ]
    },
    {
      "page": "reconcile_override",
      "title": "Manually override a single name in a reconciliation",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_override"
      ]
    },
    {
      "page": "reconcile_override_batch",
      "title": "Apply many manual corrections to a reconciliation at once",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_override_batch"
      ]
    },
    {
      "page": "reconcile_plot",
      "title": "Plot the match composition of a reconciliation",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_plot"
      ]
    },
    {
      "page": "reconcile_report",
      "title": "Write a self-contained HTML reconciliation report",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_report"
      ]
    },
    {
      "page": "reconcile_review",
      "title": "Interactively review reconciliation matches",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_review"
      ]
    },
    {
      "page": "reconcile_splits_lumps",
      "title": "Flag taxonomic splits and lumps in a reconciliation",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_splits_lumps"
      ]
    },
    {
      "page": "reconcile_suggest",
      "title": "Suggest near-miss matches for unresolved species",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_suggest"
      ]
    },
    {
      "page": "reconcile_summary",
      "title": "Print a reconciliation summary to the console",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_summary"
      ]
    },
    {
      "page": "reconcile_to_trees",
      "title": "Reconcile one dataset against multiple phylogenetic trees",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_to_trees"
      ]
    },
    {
      "page": "reconcile_tree",
      "title": "Reconcile species names between a dataset and a phylogenetic tree",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_tree"
      ]
    },
    {
      "page": "reconcile_trees",
      "title": "Reconcile tip labels between two phylogenetic trees",
      "concept": [
        "reconciliation functions"
      ],
      "topics": [
        "reconcile_trees"
      ]
    },
    {
      "page": "tree_clements25",
      "title": "Clements 2025 phylogenetic tree (subset)",
      "topics": [
        "tree_clements25"
      ]
    },
    {
      "page": "tree_jetz",
      "title": "Jetz (2012) phylogenetic tree (subset)",
      "topics": [
        "tree_jetz"
      ]
    }
  ],
  "_pkglogo": "https://github.com/cran/prepR4pcm/raw/HEAD/man/figures/logo.svg",
  "_readme": "https://github.com/cran/prepR4pcm/raw/HEAD/README.md",
  "_rundeps": [
    "ape",
    "cli",
    "digest",
    "glue",
    "lattice",
    "lifecycle",
    "magrittr",
    "nlme",
    "pillar",
    "pkgconfig",
    "Rcpp",
    "rlang",
    "tibble",
    "utf8",
    "vctrs"
  ],
  "_vignettes": [
    {
      "source": "db-assembly-workflow_mammals.Rmd",
      "filename": "db-assembly-workflow_mammals.html",
      "title": "Assembling mammal trait databases for phylogenetic comparative models",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "Load the example sources",
        "Step 1: Compare the source tables",
        "Step 2: Standardise the sources",
        "Step 3: Reconcile species names with the tree",
        "Step 4: Add manual corrections",
        "Step 5: Collapse to one row per species",
        "Step 6: Align the database and the tree",
        "Final database ready for model fitting",
        "References"
      ],
      "created": "2026-06-25 12:36:49",
      "modified": "2026-06-25 12:36:49",
      "commits": 1
    },
    {
      "source": "comparing-tree-backends.Rmd",
      "filename": "comparing-tree-backends.html",
      "title": "Comparing tree backends — when do they agree?",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "The recipe",
        "What actually works (status table)",
        "Branch lengths and time-calibration",
        "Where are the VertLife trees?",
        "Note on tip labels before comparing",
        "What to do with the result",
        "When the backends return the same species set and similar topology (Jaccard ≈ 1, RF small)",
        "When tip sets differ (Jaccard < 1)",
        "When topologies disagree (RF large)",
        "When branch-length correlation is low",
        "Caching the comparisons",
        "What pr_tree_compare() doesn't do (yet)",
        "See also"
      ],
      "created": "2026-06-25 12:36:49",
      "modified": "2026-06-25 12:36:49",
      "commits": 1
    },
    {
      "source": "bird-workflow.Rmd",
      "filename": "bird-workflow.html",
      "title": "From Raw Data to PCM: A Complete Bird Trait Workflow",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Setup",
        "Part I: Core Workflow",
        "Step 1: Load data and tree",
        "Step 2: Reconcile data against the tree",
        "Step 3: Produce aligned objects",
        "Step 4: Run a comparative analysis",
        "Phylogenetic generalised least squares (PGLS)",
        "Phylogenetic generalised linear mixed model (PGLMM)",
        "Part II: Advanced Topics",
        "Reconciling two datasets",
        "Multi-row species",
        "Asymmetric datasets",
        "Using a taxonomy crosswalk",
        "Reconciling against multiple trees",
        "Fuzzy matching for typos",
        "Tree augmentation for missing species",
        "Exporting to files",
        "HTML reports",
        "Key points",
        "Data sources",
        "References"
      ],
      "created": "2026-06-25 12:36:49",
      "modified": "2026-06-25 12:36:49",
      "commits": 1
    },
    {
      "source": "posterior-tree-pipeline.Rmd",
      "filename": "posterior-tree-pipeline.html",
      "title": "From species names to a phylogenetic posterior — prepR4pcm + pigauto",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What we'll build",
        "Step 1 — Retrieve a posterior of trees",
        "Step 2 — Reconcile the data to the posterior",
        "Step 3 — Format citations (do this before you submit)",
        "Step 4 — Hand the posterior to pigauto",
        "Choosing a backend",
        "What's not in this pipeline",
        "See also"
      ],
      "created": "2026-06-25 12:36:49",
      "modified": "2026-06-25 12:36:49",
      "commits": 1
    },
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "Getting Started with prepR4pcm",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The problem",
        "Installation",
        "Example 1: Reconcile a dataset against a tree",
        "Inspect the result",
        "Apply manual overrides",
        "Produce aligned objects",
        "Example 2: Reconcile two datasets",
        "Understanding match types",
        "Example 3: Using a taxonomic authority",
        "Example 4: Pre-built overrides",
        "Example 5: Multiple datasets against one tree",
        "Key design principles",
        "Typical workflow",
        "References"
      ],
      "created": "2026-06-25 12:36:49",
      "modified": "2026-06-25 12:36:49",
      "commits": 1
    },
    {
      "source": "meta-analysis-with-rotl.Rmd",
      "filename": "meta-analysis-with-rotl.html",
      "title": "Phylogenetic meta-analysis with rotl + prepR4pcm",
      "engine": "knitr::rmarkdown",
      "headings": [
        "A worked example: thermal-tolerance plasticity across animal classes",
        "Setup",
        "Step 1-3: topology -> bifurcating -> Grafen branches, in one call",
        "The manual pipeline (without prepR4pcm)",
        "The same in one call (with prepR4pcm)",
        "Confirm the two pipelines produce the same tree",
        "Step 4: phylogenetic correlation matrix",
        "Step 5: fit the meta-analysis with metafor",
        "Manual tree grafting when Open Tree of Life doesn't have a species",
        "Why Grafen (and not DateLife / a time-calibrated tree)?",
        "What this vignette deliberately doesn't cover",
        "See also"
      ],
      "created": "2026-06-25 12:36:49",
      "modified": "2026-06-25 12:36:49",
      "commits": 1
    }
  ],
  "_score": 3.7558748556724915,
  "_indexed": true,
  "_nocasepkg": "prepr4pcm",
  "_universes": [
    "cran",
    "itchyshin"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.0",
      "date": "2026-06-25T13:12:18.000Z",
      "distro": "resolute",
      "commit": "b78fe29addf5d4cf917c17b421e31a2348ed37d8",
      "fileid": "ec9e1bf1a30204686d86388a386dcd0e79a86f10e861b3fd17eee0e10eb65bf8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/28171868900"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.0",
      "date": "2026-06-25T13:12:26.000Z",
      "distro": "resolute",
      "commit": "b78fe29addf5d4cf917c17b421e31a2348ed37d8",
      "fileid": "fcc621256f46a42194c88fb2a6c1525e4b3d7d4faa1a40d99dd9112be01eae37",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/28171868900"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.0",
      "date": "2026-06-25T13:12:09.000Z",
      "commit": "b78fe29addf5d4cf917c17b421e31a2348ed37d8",
      "fileid": "7fe8e869d4e11faa1da43509f039e14b0c125f1cfc329741935d1a7bbb1f83e1",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/28171868900"
    }
  ]
}