Gábor Csárdi

Gábor Csárdi

50 packages on CRAN

13 packages on GitHub

2 packages on Bioconductor

rematch

cran
97th

Percentile

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

callr

cran
49th

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.

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.

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

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>.

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.

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>.

sankey

cran

Sankey plots illustrate the flow of information or material.

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.

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'.

pkgconfig

cran
97th

Percentile

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

igraph

cran
96th

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.

crayon

cran
95th

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.

praise

cran
95th

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
90th

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'.

90th

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.

desc

cran
89th

Percentile

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

rappdirs

cran
88th

Percentile

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.

rversions

cran
82th

Percentile

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.

processx

cran
81th

Percentile

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.

debugme

cran
81th

Percentile

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

zip

cran
75th

Percentile

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

igraphdata

cran
65th

Percentile

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.

clisymbols

cran
65th

Percentile

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>).

isa2

cran
49th

Percentile

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.

sys

cran
43th

Percentile

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.

remotes

cran
31th

Percentile

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'.

getPass

cran
23th

Percentile

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.

gh

cran
18th

Percentile

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

rcmdcheck

github
10th

Percentile

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

whoami

cran
5th

Percentile

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.

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/>.

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'.

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.

rematch2

cran

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

cranlike

cran

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

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.

dotenv

cran

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

secret

cran

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

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.

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.

prettycode

cran

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

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.

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.

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.

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

tracer

cran

Better looking call stacks after an error.

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.

notifier

cran

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

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.

available

github

Check if a package name is available to use.

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.

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.

rhub

github

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

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.