Gábor Csárdi

Gábor Csárdi

53 packages on CRAN

12 packages on GitHub

2 packages on Bioconductor

rematch

cran
82th

Percentile

A small wrapper on 'regexpr' to extract the matches and captured groups from the match of a regular expression to a character vector.

SASxport

cran

Functions for reading, listing the contents of, and writing 'SAS' 'xport' format files. The functions support reading and writing of either individual data frames or sets of data frames. Further, a mechanism has been provided for customizing how variables of different data types are stored.

Convert the output of 'utils::getParseData()' to an 'XML' tree, that is searchable and easier to manipulate in general.

rmdshower

github

'R' 'Markdown' format for 'shower' presentations, see <https://github.com/shower/shower>.

Simple classic graph algorithms for simple graph classes. Graphs may possess vertex and edge attributes. 'simplegraph' has so dependencies and it is written entirely in R, so it is easy to install.

Browser notifications in 'Shiny' apps, using 'toastr': <https://github.com/CodeSeven/toastr#readme>.

franc

cran

With no external dependencies and support for 335 languages; all languages spoken by more than one million speakers. 'Franc' is a port of the 'JavaScript' project of the same name, see <https://github.com/wooorm/franc>.

cyclocomp

cran

Cyclomatic complexity is a software metric (measurement), used to indicate the complexity of a program. It is a quantitative measure of the number of linearly independent paths through a program's source code. It was developed by Thomas J. McCabe, Sr. in 1976.

rstack

cran

An extremely simple stack data type, implemented with 'R6' classes. The size of the stack increases as needed, and the amortized time complexity is O(1). The stack may contain arbitrary objects.

functionMap

github

Extract all function calls from an R package, or a set of R scripts. Create a network of functions that can be then visualized. Can also extract the places of the function definitions and function calls and export them in a 'JSON' file.

goodpractice

github

Give advice about good practices when building R packages. Advice includes functions and syntax to avoid, package structure, code complexity, code formatting, etc.

shinytest

github

Uses a headless browser, driven through 'WebDriver'.

crayon

cran
89th

Percentile

Colored terminal output on terminals that support 'ANSI' color and highlight codes. It also works in 'Emacs' 'ESS'. 'ANSI' color support is automatically detected. Colors and highlighting can be combined and nested. New styles can also be created easily. This package was inspired by the 'chalk' 'JavaScript' project.

pkgconfig

cran
87th

Percentile

Set configuration options on a per-package basis. Options set by a given package only apply to that package, other packages are unaffected.

callr

cran
71th

Percentile

It is sometimes useful to perform a computation in a separate R process, without affecting the current R process at all. This packages does exactly that.

igraph

cran
70th

Percentile

Routines for simple graphs and network analysis. It can handle large graphs very well and provides functions for generating random and regular graphs, graph visualization, centrality methods and much more.

praise

cran
62th

Percentile

Build friendly R packages that praise their users if they have done something good, or they just need it to feel better.

progress

cran
22th

Percentile

Configurable Progress bars, they may include percentage, elapsed time, and/or the estimated completion time. They work in terminals, in 'Emacs' 'ESS', 'RStudio', 'Windows' 'Rgui' and the 'macOS' 'R.app'. The package also provides a 'C++' 'API', that works with or without 'Rcpp'.

21th

Percentile

Pretty, human readable formatting of quantities. Time intervals: 1337000 -> 15d 11h 23m 20s. Vague time intervals: 2674000 -> about a month ago. Bytes: 1337 -> 1.34 kB.

debugme

cran

Specify debug messages as special string constants, and control debugging of packages via environment variables.

processx

cran

Portable tools to run system processes in the background. It can check if a background process is running; wait on a background process to finish; get the exit status of finished processes; kill background processes and their children; restart processes. It can read the standard output and error of the processes, using non-blocking connections. 'processx' can poll a process for standard output or error, with a timeout. It can also poll several processes at once.

rappdirs

cran

An easy way to determine which directories on the users computer you should use to save data, caches and logs. A port of Python's 'Appdirs' (\url{https://github.com/ActiveState/appdirs}) to R.

desc

cran

Tools to read, write, create, and manipulate DESCRIPTION files. It is intended for packages that create or manipulate other packages.

rversions

cran

Query the main 'R' 'SVN' repository to find the versions 'r-release' and 'r-oldrel' refer to, and also all previous 'R' versions and their release dates.

sys

cran

Powerful replacements for base system2 with consistent behavior across platforms. Supports interruption, background tasks, and full control over 'STDOUT' / 'STDERR' binary or text streams. On Unix systems the package also has functions for evaluating expressions inside a temporary fork. Such evaluations have no side effects on the main R process, and support reliable interrupts and timeouts. This provides the basis for a 'sandboxing' mechanism.

zip

cran

Cross-Platform 'zip' Compression Library. A replacement for the 'zip' function, that does not require any additional external tools on any platform.

rematch2

cran

Wrappers on 'regexpr' and 'gregexpr' to return the match results in tidy data frames.

clisymbols

cran

A small subset of Unicode symbols, that are useful when building command line applications. They fall back to alternatives on terminals that do not support Unicode. Many symbols were taken from the 'figures' 'npm' package (see <https://github.com/sindresorhus/figures>).

igraphdata

cran

A small collection of various network data sets, to use with the 'igraph' package: the Enron email network, various food webs, interactions in the immunoglobulin protein, the karate club network, Koenigsberg's bridges, visuotactile brain areas of the macaque monkey, UK faculty friendship network, domestic US flights network, etc.

remotes

cran

Download and install R packages stored in 'GitHub', 'BitBucket', or plain 'subversion' or 'git' repositories. This package is a lightweight replacement of the 'install_*' functions in 'devtools'. Indeed most of the code was copied over from 'devtools'.

gh

cran

Minimal client to access the 'GitHub' 'API'.

isa2

cran

The ISA is a biclustering algorithm that finds modules in an input matrix. A module or bicluster is a block of the reordered input matrix.

whoami

cran

Look up the username and full name of the current user, the current user's email address and 'GitHub' username, using various sources of system and configuration information.

getPass

cran

A micro-package for reading "passwords", i.e. reading user input with masking, so that the input is not displayed as it is typed. Currently we have support for 'RStudio', the command line (every OS), and any platform where 'tcltk' is present.

rcmdcheck

github

Run 'R CMD check' from 'R' programmatically, and capture the results of the individual checks.

parsedate

cran

Parse dates automatically, without the need of specifying a format. Currently it includes the git date parser. It can also recognize and parse all ISO 8601 formats.

spark

cran

A 'sparkline' is a line chart, without axes and labels. Its goal is to show the general shape of changes over time, or another quantity. This package is an 'R' implementation of the original shell project: <http://zachholman.com/spark/>.

Query and print information about the current R session. It is similar to 'utils::sessionInfo()', but includes more information about packages, and where they were installed from.

cranlogs

cran

'API' to the database of 'CRAN' package downloads from the 'RStudio' 'CRAN mirror'. The database itself is at <http://cranlogs.r-pkg.org>, see <https://github.com/metacran/cranlogs.app> for the raw 'API'.

sand

cran

Data sets for the book 'Statistical Analysis of Network Data with R'.

prettycode

cran

Replace the standard print method for functions with one that performs syntax highlighting, using ANSI colors, if the terminal supports them.

Create disposable R packages for testing. You can create, install and load multiple R packages with a single function call, and then unload, uninstall and destroy them with another function call. This is handy when testing how some R code or an R package behaves with respect to other packages.

available

cran

Check if a given package name is available to use. It checks the name's validity. Checks if it is used on 'GitHub', 'CRAN' and 'Bioconductor'. Checks for unintended meanings by querying Urban Dictionary, 'Wiktionary' and Wikipedia.

keyring

cran

Platform independent 'API' to access the operating system's credential store. Currently supports: 'Keychain' on 'macOS', Credential Store on 'Windows', the Secret Service 'API' on 'Linux', and a simple, platform independent store implemented with environment variables. Additional storage back-ends can be added easily.

logmult

cran

Functions to fit log-multiplicative models using 'gnm', with support for convenient printing, plots, and jackknife/bootstrap standard errors. For complex survey data, models can be fitted from design objects from the 'survey' package. Currently supported models include UNIDIFF (Erikson & Goldthorpe), a.k.a. log-multiplicative layer effect model (Xie), and several association models: Goodman's row-column association models of the RC(M) and RC(M)-L families with one or several dimensions; two skew-symmetric association models proposed by Yamaguchi and by van der Heijden & Mooijaart. Functions allow computing the intrinsic association coefficient (and therefore the Altham index), including via the Bayes shrinkage estimator proposed by Zhou; and the RAS/IPF/Deming-Stephan algorithm.

rcorpora

cran

A collection of small text corpora of interesting data. It contains all data sets from https://github.com/dariusk/corpora. Some examples: names of animals: birds, dinosaurs, dogs; foods: beer categories, pizza toppings; geography: English towns, rivers, oceans; humans: authors, US presidents, occupations; science: elements, planets; words: adjectives, verbs, proverbs, US president quotes.

sankey

cran

Plots that illustrate the flow of information or material.

liteq

cran

Temporary and permanent message queues for R. Built on top of 'SQLite' databases. 'SQLite' provides locking, and makes it possible to detect crashed consumers. Crashed jobs can be automatically marked as "failed", or put in the queue again, potentially a limited number of times.

secret

cran

Allow sharing sensitive information, for example passwords, 'API' keys, etc., in R packages, using public key cryptography.

rhub

github

Run 'R CMD check' on any of the 'R-hub' architectures, from the command line.

tracer

cran

Better looking call stacks after an error.

cranlike

cran

A set of functions to manage 'CRAN'-like repositories efficiently.

dotenv

cran

Load configuration from a '.env' file, that is in the current working directory, into environment variables.

showimage

cran

Sometimes it is handy to be able to view an image file on an 'R' graphics device. This package just does that. Currently it supports 'PNG' files.

keypress

cran

Wait for a single key press at the 'R' prompt. This works in terminals, but does not currently work in the 'Windows' 'GUI', the 'OS X' 'GUI' ('R.app'), in 'Emacs' 'ESS', in an 'Emacs' shell buffer or in 'R Studio'. In these cases 'keypress' stops with an error message.

mason

cran

Create full-featured R packages, interactively, based on a couple of questions. They will have the appropriate directory structure, a testing framework, a README file with badges, GitHub integration, etc. Mason has a simple templating system, each template is provided in a separate package. The 'mason.rpkg' package contains a generic R package and it is a good place to start.

Decide which server to connect to, based on previous response times, and configuration.

after

cran

Run an R function in the background, possibly after a delay. The current version uses the Tcl event loop and was ported from the 'tcltk2' package.

eisa

bioconductor

The Iterative Signature Algorithm (ISA) is a biclustering method; it finds correlated blocks (transcription modules) in gene expression (or other tabular) data. The ISA is capable of finding overlapping modules and it is resilient to noise. This package provides a convenient interface to the ISA, using standard BioConductor data structures; and also contains various visualization tools that can be used with other biclustering algorithms.

ExpressionView

bioconductor

ExpressionView visualizes possibly overlapping biclusters in a gene expression matrix. It can use the result of the ISA method (eisa package) or the algorithms in the biclust package or others. The viewer itself was developed using Adobe Flex and runs in a flash-enabled web browser.

argufy

github

Declare your functions with argument checks, and 'argufy' will generate and add the checking code for you.

lookup

github

Provides a simple interface to lookup and print R function definitions, including C and C++ compiled code from .Call, .C, .Internal and .External calls. Also lookup of S3 and S4 generics, including a simple dialog to print any or all of the loaded methods for the generic.

maxygen

github

Write your Roxygen documentation in Markdown.

notifier

cran

Send desktop notifications from R, on macOS, Windows and Linux.

pkgsnap

github

Create a snapshot of your installed CRAN packages with 'snap', and then use 'restore' on another system to recreate exactly the same environment.

prompt

github

Set the R prompt dynamically, from a function.

tamper

github

One difficulty of 'magrittr' pipes is that they make debugging harder. If you don't always write correct code, and you use pipes, then you'll find tamper very useful. It is the 'magrittr' specific alternative of the 'recover' function: when used with 'options(error=tamper)', after an error, it displays the whole pipeline, marks the place of the error, and helps saving the temporary results.