jwutil: Tools for Data Manipulation and Testing

This is a set of simple utilities for various data manipulation and testing tasks. The goal is to use base tools well, without bringing in many dependencies. Main areas of interest are semi-automated data frame manipulation, such as converting factors in multiple binary indicator columns. There are testing functions which provide 'testthat' expectations to permute arguments to function calls. There are functions and data to test extreme numbers, dates, and bad input of various kinds which should allow testing failure and corner cases, which can be used for fuzzing your functions. The test suite has many examples of usage.

AuthorJack O. Wasey [aut, cre, cph]
Date of publication2016-10-18 10:46:33
MaintainerJack O. Wasey <jack@jackwasey.com>

View on CRAN

Man pages

add_time_to_date: convert separate lists of dates and times to POSIXlt objects

affixFields: update a set of data frame field names

allIsInteger: check whether vector represents all integer values, not that...

allIsNumeric: check whether character vector represents all numeric values

areNumeric: which elements of a vector are numeric

asCharacterNoWarn: convert factor or vector to character without warnings

asNumericNoWarn: convert factor or vector to numeric without warnings

bad_input: bad input data for tests

binary_col_names: names of fields which are numeric, binary or combinations...

buildLinearFormula: build simple linear formula from variable names

combn_subset: all unique combinations of a vector and all its non-zero...

countIsNa: count NA in vector

countNonNaCumulative: running totals of number of non-NA values in consecutive...

countNonNaPairs: count which combinations of fields have at least one non-NA

countNotNumeric: count non-numeric elements

countNumeric: count numeric elements

dput_expect_equal: dput a testthat test

dropDuplicateFields: drop duplicate fields

dropRowsWithNAField: drops rows with NA values in specified fields

expandFactors: Takes factors from a data frame and converts them to...

expect_that_combine_all_args: alternative 'expect_that' from 'testthat' which permutes all...

extreme_numbers: extreme numbers

factorToDataframeLogical: convert factor into a data.frame of logicals

fillMissingCombs: fill out missing combinations of factors with NA

filterBetter: filter data with diagnostics

flattenList: flatten a list

getDropped: get items or numerics that would be dropped in a merge

getFactorNames: get names of the factor fields in a data frame

getNAFields: get NA field names from data frame

grapes-nin-grapes: inverse of %in%

invwhich: inverse which

is.Date: is the object a 'Date'

isFlat: determine whether a list is nested

isRowSorted: is every row sorted?

isValidTime: check if a time is valid in 24h clock

jwutil-package: Tools for data manipulation not found elsewhere, and testthat...

listTrim: trim null or empty values from a list

listTrimFlat: trim null or empty values from a list

logicalToBinary: encode TRUE as 1, and FALSE as 0 (integers)

lsf: list all functions in a package

lsos: show largest objects

lsp: list all items in a package

mergeBetter: merge better

mergeLists: merge lists by names

numbers_to_long_and_float: convert numbers to long and float types

opt_binary_brute: optimizes a function for all combinations of all subsets

permute: generate all permutations of input

permuteWithRepeats: generate all permutations of input, reusing values in each...

platformIsLinux: Are we running on Linux, Mac or Windows?

propIsNa: Proportion of NA values in a vector

propNaPerField: return proportion of NA values per field

propRowSorted: proportion of non-descending rows in matrix

random_test_dates: generate random Dates or POSIXlt test datetimes

random_test_numbers: create extreme random numbers

read_xlsx_linux: read '.xlsx' file, interpret as CSV, and return a data frame

read.zip.url: read file from zip at URL

rm_r: recursive remove

save_in_data_dir: Save given variable in package data directory

set_attr_in_place: Set attribute on any SEXP in place

shuffle: shuffle

source_purl: extract code from knitr vignette and source it

strip: strip all whitespace

stripForFormula: strip a string so that it can be used as a variable name in a...

strMultiMatch: return the actual matches from a bracketed regex

trim: strip whitespace from ends of each string in given character...

zeroes: zeroes

zero_na: zero NA values in a data.frame

Files in this package

jwutil/man/random_test_dates.Rd jwutil/man/allIsNumeric.Rd jwutil/man/lsf.Rd jwutil/man/add_time_to_date.Rd jwutil/man/platformIsLinux.Rd jwutil/man/getDropped.Rd jwutil/man/propRowSorted.Rd jwutil/man/combn_subset.Rd jwutil/man/isValidTime.Rd jwutil/man/countNonNaCumulative.Rd jwutil/man/extreme_numbers.Rd jwutil/man/propNaPerField.Rd jwutil/man/jwutil-package.Rd jwutil/man/affixFields.Rd jwutil/man/mergeLists.Rd jwutil/man/countNotNumeric.Rd jwutil/man/isFlat.Rd jwutil/man/zero_na.Rd jwutil/man/rm_r.Rd jwutil/man/strip.Rd jwutil/man/set_attr_in_place.Rd jwutil/man/read_xlsx_linux.Rd jwutil/man/propIsNa.Rd jwutil/man/dput_expect_equal.Rd jwutil/man/buildLinearFormula.Rd jwutil/man/isRowSorted.Rd jwutil/man/fillMissingCombs.Rd jwutil/man/dropRowsWithNAField.Rd jwutil/man/strMultiMatch.Rd jwutil/man/logicalToBinary.Rd jwutil/man/factorToDataframeLogical.Rd jwutil/man/binary_col_names.Rd jwutil/man/permute.Rd jwutil/man/opt_binary_brute.Rd jwutil/man/zeroes.Rd jwutil/man/grapes-nin-grapes.Rd jwutil/man/expect_that_combine_all_args.Rd jwutil/man/read.zip.url.Rd jwutil/man/listTrim.Rd jwutil/man/random_test_numbers.Rd jwutil/man/countNonNaPairs.Rd jwutil/man/filterBetter.Rd jwutil/man/listTrimFlat.Rd jwutil/man/getNAFields.Rd jwutil/man/trim.Rd jwutil/man/flattenList.Rd jwutil/man/is.Date.Rd jwutil/man/countNumeric.Rd jwutil/man/lsp.Rd jwutil/man/asCharacterNoWarn.Rd jwutil/man/areNumeric.Rd jwutil/man/expandFactors.Rd jwutil/man/allIsInteger.Rd jwutil/man/countIsNa.Rd jwutil/man/invwhich.Rd jwutil/man/dropDuplicateFields.Rd jwutil/man/save_in_data_dir.Rd jwutil/man/lsos.Rd jwutil/man/asNumericNoWarn.Rd jwutil/man/getFactorNames.Rd jwutil/man/source_purl.Rd jwutil/man/stripForFormula.Rd jwutil/man/bad_input.Rd jwutil/man/mergeBetter.Rd jwutil/man/permuteWithRepeats.Rd jwutil/man/numbers_to_long_and_float.Rd jwutil/man/shuffle.Rd

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.