{
  "_id": "6a576e2cff0138dec5d70cdc",
  "Package": "caroline",
  "Version": "1.1.2",
  "Date": "2026-07-13",
  "Title": "A Collection of Database, Data Structure, Data Conversion,\nVisualization, Reporting, and General Utility Functions",
  "Author": "David Schruth [aut, cre]",
  "Maintainer": "David Schruth <code@anthropoidea.org>",
  "Description": "This R-extension package contains dozens of functions\nuseful for: database style joins [nerge()] & aggregation\n[bestBy(), groupBy() & regroup()], database migration\n[dbWriteTable2()], file I/O [write.delim(), read.tab()], text\nparsing / data mining [m()], data structure conversion [nv(),\ntab2df()], summarizing & reporting [pct(), fit.1ln.rprt()],\ncharacter string manipulation [m() & pad()], legend table\nmaking [sstable() & leghead()] & plot placement\n[legend.position()], plot annotation [labsegs() & mvlabs()],\ndata visualization [pies(), spie(), & heatmatrix()], and data\nexploration [hyperplot(), plot.xy.ab.p()], batch scripting\n[parseArgString()]. The package's greatest contributions stem\nfrom its database style merge, aggregation and interface\nfunctions as well as in it's extensive use and propagation of\nrow, column and vector names in most functions. The latest\nadditions are plotting functions [confound.grid() & sparge()]\nthat intake a dataframe & formulas to visually resolve variable\nconfounding (Simpson, 1951).",
  "License": "Artistic-2.0",
  "LazyLoad": "yes",
  "Authors@R": "person(given=\"David\",family=\"Schruth\", role=c('aut','cre'),email=\"code@anthropoidea.org\")",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-07-15 11:22:52 UTC",
    "User": "root"
  },
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-07-15 06:40:20 UTC",
  "RemoteUrl": "https://github.com/cran/caroline",
  "RemoteRef": "HEAD",
  "RemoteSha": "61538e6d19761bf5a6558676315a9807809baf29",
  "_user": "cran",
  "_type": "src",
  "_file": "caroline_1.1.2.tar.gz",
  "_fileid": "https://r2.ropensci.org/d840f94dbc658646aadd4a3cf5a70f016644eecfe5d2cda9371fe1efd62b06b9",
  "_filesize": 2232958,
  "_sha256": "d840f94dbc658646aadd4a3cf5a70f016644eecfe5d2cda9371fe1efd62b06b9",
  "_expires": "2026-10-23T11:25:30.000Z",
  "_created": "2026-07-15T11:22:52.000Z",
  "_published": "2026-07-15T11:25:32.626Z",
  "_jobs": [
    {
      "job": 87339221878,
      "time": 120,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "8341300304"
    },
    {
      "job": 87339221894,
      "time": 108,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8341295471"
    },
    {
      "job": 87338712014,
      "time": 161,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "8341252456"
    },
    {
      "job": 87339221896,
      "time": 86,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "8341287138"
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/29411253538",
  "_status": "success",
  "_upstream": "https://github.com/cran/caroline",
  "_commit": {
    "id": "61538e6d19761bf5a6558676315a9807809baf29",
    "author": "David Schruth <code@anthropoidea.org>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.1.2\n",
    "time": 1784097620
  },
  "_maintainer": {
    "name": "David Schruth",
    "email": "code@anthropoidea.org"
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 2.0.0",
      "role": "Depends"
    },
    {
      "package": "methods",
      "role": "Depends"
    },
    {
      "package": "MASS",
      "role": "Suggests"
    },
    {
      "package": "RSQLite",
      "role": "Suggests"
    },
    {
      "package": "grid",
      "role": "Suggests"
    },
    {
      "package": "DBI",
      "role": "Enhances"
    },
    {
      "package": "gplots",
      "role": "Enhances"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 3,
  "_updates": [
    {
      "week": "2026-25",
      "n": 1
    },
    {
      "week": "2026-28",
      "n": 1
    },
    {
      "week": "2026-29",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "1.0.0",
      "date": "2026-06-16"
    },
    {
      "name": "1.1.1",
      "date": "2026-07-06"
    },
    {
      "name": "1.1.2",
      "date": "2026-07-15"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "dranthropoid",
      "count": 26,
      "uuid": 67233
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 620,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 621,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/caroline"
  },
  "_mentions": 2,
  "_searchresults": 117,
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/caroline.html",
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_realowner": "cran",
  "_cranurl": false,
  "_releases": [
    {
      "version": "0.1-1",
      "date": "2009-09-07"
    },
    {
      "version": "0.1-3",
      "date": "2009-10-28"
    },
    {
      "version": "0.1-6",
      "date": "2009-11-08"
    },
    {
      "version": "0.1-7",
      "date": "2009-12-16"
    },
    {
      "version": "0.1-8",
      "date": "2010-02-12"
    },
    {
      "version": "0.2-0",
      "date": "2010-07-26"
    },
    {
      "version": "0.3-0",
      "date": "2010-08-11"
    },
    {
      "version": "0.3-6",
      "date": "2010-09-19"
    },
    {
      "version": "0.3-9",
      "date": "2010-10-19"
    },
    {
      "version": "0.4.0",
      "date": "2010-11-16"
    },
    {
      "version": "0.4.1",
      "date": "2010-12-12"
    },
    {
      "version": "0.4.5",
      "date": "2011-03-23"
    },
    {
      "version": "0.4.8",
      "date": "2011-04-27"
    },
    {
      "version": "0.5.0",
      "date": "2011-06-04"
    },
    {
      "version": "0.5.1",
      "date": "2011-06-07"
    },
    {
      "version": "0.5.4",
      "date": "2011-07-23"
    },
    {
      "version": "0.5.5",
      "date": "2011-08-10"
    },
    {
      "version": "0.5.7",
      "date": "2011-09-14"
    },
    {
      "version": "0.6.0",
      "date": "2011-09-16"
    },
    {
      "version": "0.6.4",
      "date": "2011-11-20"
    },
    {
      "version": "0.6.6",
      "date": "2011-11-29"
    },
    {
      "version": "0.6.7",
      "date": "2011-12-07"
    },
    {
      "version": "0.6.8",
      "date": "2011-12-10"
    },
    {
      "version": "0.6.9",
      "date": "2012-02-09"
    },
    {
      "version": "0.7.2",
      "date": "2012-05-09"
    },
    {
      "version": "0.7.4",
      "date": "2012-06-22"
    },
    {
      "version": "0.7.6",
      "date": "2013-10-08"
    },
    {
      "version": "0.8.0",
      "date": "2022-05-03"
    },
    {
      "version": "0.9.0",
      "date": "2022-11-12"
    },
    {
      "version": "0.9.2",
      "date": "2023-11-09"
    },
    {
      "version": "0.9.9",
      "date": "2024-10-21"
    },
    {
      "version": "1.0.0",
      "date": "2026-06-16"
    },
    {
      "version": "1.1.1",
      "date": "2026-07-06"
    },
    {
      "version": "1.1.2",
      "date": "2026-07-15"
    }
  ],
  "_exports": [
    "addFactLevs",
    "bestBy",
    "dbWriteTable2",
    "ellipsis.defaults",
    "fit.1ln.rprt",
    "geomean",
    "groupBy",
    "heatmatrix",
    "hyperplot",
    "install.prev.pkg",
    "labsegs",
    "legend.position",
    "leghead",
    "lines.sparge",
    "m",
    "makeEllipseCoords",
    "mvlabs",
    "nerge",
    "nv",
    "nv2df",
    "pad",
    "parseArgString",
    "pct",
    "pies",
    "plot.confound.grid",
    "plot.sparge",
    "plot.xy.ab.p",
    "plotClock",
    "raAddArms",
    "raAddAxLabs",
    "raAddSigLines",
    "raPlot",
    "read.tab",
    "regroup",
    "rerowname",
    "spie",
    "sstable",
    "tab2df",
    "textplot",
    "usr2lims",
    "vennMatrix",
    "wjitter",
    "write.delim"
  ],
  "_help": [
    {
      "page": "addFactLevs",
      "title": "Add new levels to the Factors in a DataFrame",
      "topics": [
        "addFactLevs"
      ]
    },
    {
      "page": "bestBy",
      "title": "Find the \"best\" record within subgroups of a dataframe.",
      "topics": [
        "bestBy"
      ]
    },
    {
      "page": "dbWriteTable2",
      "title": "Data Import Wrapper for dbWriteTable.",
      "topics": [
        "dbWriteTable2"
      ]
    },
    {
      "page": "ellipsis.defaults",
      "title": "Modify defaults of possible optional ellipsis parameter values passed to a function",
      "topics": [
        "ellipsis.defaults"
      ]
    },
    {
      "page": "fit.1ln.rprt",
      "title": "Report a model fit in a single line of text output",
      "topics": [
        "fit.1ln.rprt"
      ]
    },
    {
      "page": "geomean",
      "title": "Calculate the Geometric Mean",
      "topics": [
        "geomean"
      ]
    },
    {
      "page": "groupBy",
      "title": "Group a datafame by a factor and perform aggregate functions.",
      "topics": [
        "groupBy"
      ]
    },
    {
      "page": "heatmatrix",
      "title": "Simple Heatmap Plot",
      "topics": [
        "heatmatrix"
      ]
    },
    {
      "page": "hyperplot",
      "title": "Annotate Outliers in a Scatterplot via an HTML Image-Map",
      "topics": [
        "hyperplot"
      ]
    },
    {
      "page": "install.prev.pkg",
      "title": "Install the next oldest package",
      "topics": [
        "install.prev.pkg"
      ]
    },
    {
      "page": "labsegs",
      "title": "Buffered Segments for Point Labels",
      "topics": [
        "labsegs"
      ]
    },
    {
      "page": "legend.position",
      "title": "automatically find an optimal position a plot legend based on point counts in each plot corner",
      "topics": [
        "legend.position"
      ]
    },
    {
      "page": "leghead",
      "title": "Generate a Color Coded Legend dataframe via head and sum.",
      "topics": [
        "leghead"
      ]
    },
    {
      "page": "m",
      "title": "Regexp Match Operator",
      "topics": [
        "m"
      ]
    },
    {
      "page": "makeEllipseCoords",
      "title": "Make Ellipse Coordinates",
      "topics": [
        "makeEllipseCoords"
      ]
    },
    {
      "page": "mvlabs",
      "title": "Move Text Labels Interactively",
      "topics": [
        "mvlabs"
      ]
    },
    {
      "page": "nerge",
      "title": "Named Merge",
      "topics": [
        "nerge"
      ]
    },
    {
      "page": "nv",
      "title": "Create a named vector from a dataframe, table or vector",
      "topics": [
        "nv"
      ]
    },
    {
      "page": "nv2df",
      "title": "Create a data frame from a named vector",
      "topics": [
        "nv2df"
      ]
    },
    {
      "page": "pad",
      "title": "Pad a vector of numerical string with zeros.",
      "topics": [
        "pad"
      ]
    },
    {
      "page": "parseArgStrings",
      "title": "Process Command Line Arguments",
      "topics": [
        "parseArgString"
      ]
    },
    {
      "page": "pct",
      "title": "Add Percentage Columns to a Dataframe",
      "topics": [
        "pct"
      ]
    },
    {
      "page": "pies",
      "title": "Pie chart scatterplot",
      "topics": [
        "pies"
      ]
    },
    {
      "page": "plot.confound.grid",
      "title": "Plot a grid of x y plots split by a confounder z",
      "topics": [
        "confound.grid",
        "plot.confound.grid"
      ]
    },
    {
      "page": "plot.sparge",
      "title": "Visually compare all points from different univariate distributions",
      "topics": [
        "lines.sparge",
        "plot.sparge",
        "sparge",
        "sparge.lines",
        "sparge.plot"
      ]
    },
    {
      "page": "plot.xy.ab.p",
      "title": "An x/y scatterplot with a linear regression line and p-value",
      "topics": [
        "plot.xy.ab.p",
        "xy.ab.p"
      ]
    },
    {
      "page": "plotClock",
      "title": "Plot a simple clock.",
      "topics": [
        "plotClock"
      ]
    },
    {
      "page": "raAddArms",
      "title": "Add Arms to a RA plot.",
      "topics": [
        "raAddArms"
      ]
    },
    {
      "page": "raAddAxLabs",
      "title": "Add axis labels to an RA plot.",
      "topics": [
        "raAddAxLabs"
      ]
    },
    {
      "page": "raAddSigLines",
      "title": "Add Significance Lines to an RA plot.",
      "topics": [
        "raAddSigLines"
      ]
    },
    {
      "page": "raPlot",
      "title": "Generate a Ratio Average [RAy] Plot.",
      "topics": [
        "raPlot"
      ]
    },
    {
      "page": "read.tab",
      "title": "Read in a Tab Delimited File.",
      "topics": [
        "read.tab"
      ]
    },
    {
      "page": "regroup",
      "title": "Regroup a dataframe.",
      "topics": [
        "regroup"
      ]
    },
    {
      "page": "rerowname",
      "title": "Rename select rows of a dataframe",
      "topics": [
        "rerowname"
      ]
    },
    {
      "page": "spieChart",
      "title": "Spie charts",
      "topics": [
        "plot.spie",
        "spie"
      ]
    },
    {
      "page": "sstable",
      "title": "Sum Sorted Tabulation",
      "topics": [
        "sstable"
      ]
    },
    {
      "page": "tab2df",
      "title": "Table to Data Frame",
      "topics": [
        "tab2df"
      ]
    },
    {
      "page": "textplot",
      "title": "A Text-Only Plot",
      "topics": [
        "textplot"
      ]
    },
    {
      "page": "usr2lims",
      "title": "Grab and adjust the current plot dimensions",
      "topics": [
        "usr2lims"
      ]
    },
    {
      "page": "vennMatrix",
      "title": "Create a Venn Ready Matrix out of a List of Factors",
      "topics": [
        "vennMatrix"
      ]
    },
    {
      "page": "wjitter",
      "title": "Weighted Jitter",
      "topics": [
        "wjitter"
      ]
    },
    {
      "page": "write.delim",
      "title": "Write a (tab) delimited text file.",
      "topics": [
        "write.delim"
      ]
    }
  ],
  "_readme": "https://github.com/cran/caroline/raw/HEAD/README.md",
  "_rundeps": [],
  "_vignettes": [
    {
      "source": "Schruth-caroline-GlobalForestLosses.Rnw",
      "filename": "Schruth-caroline-GlobalForestLosses.pdf",
      "title": "Global Drivers of Natural Forest Loss: a visual workflow for functions in the 'caroline' R-package",
      "engine": "utils::Sweave",
      "headings": [
        "Introduction",
        "Software",
        "Data",
        "Methods",
        "Results",
        "Conclusions",
        "Licensing"
      ],
      "created": "2026-07-06 11:08:45",
      "modified": "2026-07-15 06:40:20",
      "commits": 2
    }
  ],
  "_score": 5.499549625905149,
  "_indexed": true,
  "_nocasepkg": "caroline",
  "_universes": [
    "cran"
  ],
  "_previous": "1.1.1",
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.1.2",
      "date": "2026-07-15T11:24:54.000Z",
      "distro": "resolute",
      "commit": "61538e6d19761bf5a6558676315a9807809baf29",
      "fileid": "https://r2.ropensci.org/67fa9b3cf185f04341ed2bece0399dd76432c8f149e885b958ae86eb611bcb6f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29411253538"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "1.1.2",
      "date": "2026-07-15T11:24:45.000Z",
      "distro": "resolute",
      "commit": "61538e6d19761bf5a6558676315a9807809baf29",
      "fileid": "https://r2.ropensci.org/d296e228f2f49c8c8e0aff3bd016370047c3758266db13cd5007cd3f33437100",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29411253538"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.1.2",
      "date": "2026-07-15T11:24:34.000Z",
      "commit": "61538e6d19761bf5a6558676315a9807809baf29",
      "fileid": "https://r2.ropensci.org/5aadbdce654cd419694f71a6954b85dcc8ea953f085b1918dfa05ea1f81549c2",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/29411253538"
    }
  ]
}