Giter Club home page Giter Club logo

omnibus's Introduction

omnibus

R-CMD-check Project Status: Active โ€“ The project has reached a stable, usable state and is being actively developed. cran version

R Utility Functions for the 99%

An assortment of helper functions for managing data (e.g., rotating values in matrices by a user-defined angle, switching from row- to column-indexing), dates (e.g., intuiting year from messy date strings), handling missing values (e.g., removing elements/rows across multiple vectors or matrices if any have an NA), text (e.g., flushing reports to the console in real-time); and combining data frames with different schema (copying, filling, or concatenating columns or applying functions before combining).

Installation

As of version 1.1.2, omnibus is on CRAN! You can install the latest CRAN-stable version the normal way you install packages from CRAN, or the development version by using:

remotes::install_github('adamlilith/omnibus', dependencies=TRUE)

You may need to install the remotes package first.

Data manipulation

  • appendLists: Merge lists, appending elements with the same name.
  • bracket: Find values that bracket a given number.
  • combineDf: Combine data frames with different schema.
  • compareFloat: Compare two values to within floating-point precision.
  • convertUnits: Convert length or areal units.
  • conversionFactors: Data frame of conversion factors for length or areal units.
  • corner: Corner of a matrix or data frame.
  • cull: Force vectors or matrices/data frames to have the same length or number of rows.
  • expandUnits: Convert unit abbreviations to proper unit names.
  • insert: Insert values into a vector.
  • insertCol and insertRow: Insert column(s)/row(s) in a matrix or data frame.
  • maxRuns: Maximum number of continuous "runs" of values meeting a particular condition.
  • mergeLists: Merge lists, with precedence for elements of one list over another if they have the same names.
  • mirror: Flip an object left-right (or up-down).
  • mmode: Modal value(s).
  • notIn and %notin%: Opposite of %in%.
  • renumSeq: Renumber a sequence.
  • rotateMatrix: Rotate a matrix.
  • roundTo: Rounds a value to the nearest target value.
  • rowColIndexing: Convert between row and column indexing of a matrix.
  • stretchMinMax: Rescale values to a given range.
  • unlistRecursive: For any object in a list that is also a list, unlist it.

Dates

  • domLeap: Data frame of days of each month in a leap year.
  • domNonLeap: Data frame of days of each month in a non-leap year.
  • doyLeap: Data frame of days of year in a leap year.
  • doyNonLeap: Data frame of days of year in a non-leap year.
  • isLeapYear: Is a year a leap year?
  • yearFromDate: Attempt to find the year across dates with non-standard formats.

Geometry

  • pairDist: Pairwise Euclidean distance between two sets of points.
  • quadArea: Area of a quadrilateral.

Handling NAs

  • %<na%, %<=na%, %==na%, %!=na%, %>na%, and %>=na%: Comparative operations (>, >=, ==, !=, <, <=) but returns FALSE for NA cases (versus NA).
  • isTRUENA and isFALSENA: Logical operators robust to NA.
  • naCompare: Comparative operations (>, >=, ==, !=, <, <=) but returns FALSE for NA cases (versus NA).
  • naOmitMulti: Remove elements of multiple vectors if at least one element is NA or rows of matrices/data frames if at least one row has an NA.
  • naRows: Indices of rows with at least one NA.

Data properties

  • countDecDigits: Count number of digits after a decimal.
  • is.wholeNumber: Is a numeric value a whole number, to within floating-point precision?
  • longRun: Longest run of a given sequence in a vector.
  • roundedSigDigits: Infers the number of significant digits represented by a decimal representation of a division operation or digits place to which an integer was rounded.
  • which.pmax and which.pmin: Combine which.max with pmax and which.min with pmin (vectorized which.max and which.min).

System

  • dirCreate: Nicer version of dir.create().
  • eps: Smallest floating point value your computer can think of.
  • listFiles: Nicer version of list.files().
  • memUse: Display largest objects in memory.

Text

  • capIt: Capitalize first letter of a string.
  • forwardSlash: Convert backslashes to forward slashes.
  • pmatchSafe: Partial matching of strings with error checking.
  • prefix: Add repeating character to a string to ensure it has a user-defined length (e.g., 7 --> 007).
  • rstring: Make a nearly-guaranteed unique string.
  • say: Replacement for print('abc'); flush.console().

Adam

omnibus's People

Contributors

adamlilith avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

mincenliu

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.