Gábor Csárdi

Gábor Csárdi

61 packages on CRAN

9 packages on GitHub

2 packages on Bioconductor

rematch

cran
99.5th

Percentile

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

77th

Percentile

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

cyclocomp

cran
72th

Percentile

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

Percentile

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

56th

Percentile

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

Percentile

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

Percentile

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.

cli

cran
99.9th

Percentile

A suite of tools designed to build attractive command line interfaces ('CLIs'). Includes tools for drawing rules, boxes, trees, and 'Unicode' symbols with 'ASCII' alternatives.

crayon

cran
99.9th

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

Percentile

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

processx

cran
99.5th

Percentile

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

callr

cran
99.5th

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.

rcmdcheck

cran
99.5th

Percentile

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

99th

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.

remotes

cran
99th

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

99th

Percentile

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.

desc

cran
99th

Percentile

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

gh

cran
99th

Percentile

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

xopen

cran
99th

Percentile

Cross platform solution to open files, directories or 'URLs' with their associated programs.

clisymbols

cran
99th

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

zip

cran
99th

Percentile

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

rappdirs

cran
99th

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.

igraph

cran
99th

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

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

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

sys

cran
96th

Percentile

Drop-in replacements for the base system2() function with fine control and consistent behavior across platforms. Supports clean interruption, timeout, background tasks, and streaming STDIN / STDOUT / STDERR over binary or text connections. Arguments on Windows automatically get encoded and quoted to work on different locales. On Unix platforms the package also provides 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.

rversions

cran
95th

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.

rhub

github
95th

Percentile

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

whoami

cran
95th

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

Percentile

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.

debugme

cran
94th

Percentile

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

igraphdata

cran
93th

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.

rematch2

cran
93th

Percentile

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

getPass

cran
92th

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.

isa2

cran
92th

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.

webdriver

cran
90th

Percentile

A client for the 'WebDriver' 'API'. It allows driving a (probably headless) web browser, and can be used to test web applications, including 'Shiny' apps. In theory it works with any 'WebDriver' implementation, but it was only tested with 'PhantomJS'.

showimage

cran
89th

Percentile

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.

filelock

cran
89th

Percentile

Place an exclusive or shared lock on a file. It uses 'LockFile' on Windows and 'fcntl' locks on Unix-like systems.

86th

Percentile

Convert the output of 'utils::getParseData()' to an 'XML' tree, that one can search via 'XPath', and easier to manipulate in general.

prettycode

cran
86th

Percentile

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

sand

cran
85th

Percentile

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

cranlogs

cran
85th

Percentile

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

available

cran
84th

Percentile

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.

83th

Percentile

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.

liteq

cran
80th

Percentile

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.

logmult

cran
80th

Percentile

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.

pkgsearch

cran
80th

Percentile

Search CRAN R packages. Uses the 'METACRAN' search server, see <https://r-pkg.org>.

keyring

cran
77th

Percentile

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.

dotenv

cran
75th

Percentile

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

63th

Percentile

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

RInno

cran
56th

Percentile

Installs shiny apps packaged as stand-alone Electron apps using Inno Setup, an open source software that builds installers for Windows programs <http://www.jrsoftware.org/ishelp/>.

cranlike

cran
48th

Percentile

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

rcorpora

cran
48th

Percentile

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.

rmdshower

cran
48th

Percentile

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

sankey

cran
48th

Percentile

Plots that illustrate the flow of information or material.

secret

cran
48th

Percentile

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

keypress

cran
38th

Percentile

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

Percentile

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.

tracer

cran
38th

Percentile

Better looking call stacks after an error.

27th

Percentile

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

notifier

cran
18th

Percentile

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

after

cran
17th

Percentile

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

Percentile

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

Percentile

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

Percentile

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

async

github
17th

Percentile

The 'async' package brings asynchronous ('async') computation and 'I/O' to 'R'. It uses an event loop to schedule asynchronous functions that report their results via deferred values. Deferred values can be chained together for complex async computation, and they are evaluated lazily, at synchronisation points.

lookup

github
17th

Percentile

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

Percentile

Write your Roxygen documentation in Markdown.

spark

cran
17th

Percentile

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

pkgsnap

github
17th

Percentile

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

Percentile

Set the R prompt dynamically, from a function.

tamper

github
17th

Percentile

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.