Bob Rudis

Bob Rudis

49 packages on CRAN

9 packages on GitHub

cdcfluview

cran
99.99th

Percentile

The 'U.S.' Centers for Disease Control and Prevention (CDC) maintain a portal <http://gis.cdc.gov/grasp/fluview/fluportaldashboard.html> for accessing state, regional and national influenza statistics as well as mortality surveillance data. The web interface makes it difficult and time-consuming to select and retrieve influenza data. Tools are provided to access the data provided by the portal's underlying 'API'.

censys

cran
99.99th

Percentile

The 'Censys' public search engine enables researchers to quickly ask questions about the hosts and networks that compose the Internet. Details on how 'Censys' was designed and how it is operated are available at <https://www.censys.io/about>. Both basic and extended research access queries are made available. More information on the SQL dialect used by the 'Censys' engine can be found at <https://cloud.google.com/bigquery/docs/reference/legacy-sql>.

99.99th

Percentile

A toolkit for querying 'Team Cymru' <http://team-cymru.org> 'IP' address, Autonomous System Number ('ASN'), Border Gateway Protocol ('BGP'), Bogon and 'Malware' Hash Data Services.

darksky

cran
99.99th

Percentile

Provides programmatic access to the Dark Sky API <https://darksky.net/dev/docs>, which provides current or historical global weather conditions.

docxtractr

cran
99.99th

Percentile

'Microsoft Word' 'docx' files provide an 'XML' structure that is fairly straightforward to navigate, especially when it applies to 'Word' tables and comments. Tools are provided to determine table count/structure, comment count and also to extract/clean tables and comments from 'Microsoft Word' 'docx' documents. There is also nascent support for '.doc' files.

epidata

cran
99.99th

Percentile

The Economic Policy Institute (<http://www.epi.org/>) provides researchers, media, and the public with easily accessible, up-to-date, and comprehensive historical data on the American labor force. It is compiled from Economic Policy Institute analysis of government data sources. Use it to research wages, inequality, and other economic indicators over time and among demographic groups. Data is usually updated monthly.

gdns

cran
99.99th

Percentile

To address the problem of insecurity of 'UDP'-based 'DNS' requests, 'Google Public DNS' offers 'DNS' resolution over an encrypted 'HTTPS' connection. 'DNS-over-HTTPS' greatly enhances privacy and security between a client and a recursive resolver, and complements 'DNSSEC' to provide end-to-end authenticated 'DNS' lookups. Functions that enable querying individual requests that bulk requests that return detailed responses and bulk requests are both provided. Support for reverse lookups is also provided. See <https://developers.google.com/speed/public-dns/docs/dns-over-https> for more information.

ggalt

cran
99.99th

Percentile

A compendium of 'geoms', 'coords' and 'stats' for 'ggplot2', including splines, 1d and 2d densities, univariate average shifted histograms and a new map coordinate system based on the 'PROJ.4'-library.

hrbrthemes

cran
99.99th

Percentile

A compilation of extra 'ggplot2' themes, scales and utilities, including a spell check function for plot label fields and an overall emphasis on typography. A copy of the 'Google' font 'Roboto Condensed' <https://github.com/google/roboto/> is also included along with a copy of the 'IBM' 'Plex Sans' <https://github.com/IBM/type> and 'Titillium Web' <https://fonts.google.com/specimen/Titillium+Web> fonts are also included to support their respective typography-oriented themes.

htmltidy

cran
99.99th

Percentile

HTML documents can be beautiful and pristine. They can also be wretched, evil, malformed demon-spawn. Now, you can tidy up that HTML and XHTML before processing it with your favorite angle-bracket crunching tools, going beyond the limited tidying that 'libxml2' affords in the 'XML' and 'xml2' packages and taming even the ugliest HTML code generated by the likes of Google Docs and Microsoft Word. It's also possible to use the functions provided to format or "pretty print" HTML content as it is being tidied. Utilities are also included that make it possible to view formatted and "pretty printed" HTML/XML content from HTML/XML document objects, nodes, node sets and plain character HTML/XML using 'vkbeautify' (by Vadim Kiryukhin) and 'highlight.js' (by Ivan Sagalaev). Also (optionally) enables filtering of nodes via XPath or viewing an HTML/XML document in "tree" view using 'xml-viewer' (by Julian Gruber). See <https://github.com/vkiryukhin/vkBeautify> and <https://github.com/juliangruber/xml-viewer> for more information about 'vkbeautify' and 'xml-viewer', respectively.

hyphenatr

cran
99.99th

Percentile

Identifying hyphenation points in strings can be useful for both text processing and display functions. The 'Hunspell' hyphenation library <https://github.com/hunspell/hyphen> provides tools to perform hyphenation using custom language rule dictionaries. Many hyphenation rules dictionaries are included. Words can be hyphenated directly or split into hyphenated component strings for further processing.

iptools

cran
99.99th

Percentile

A toolkit for manipulating, validating and testing 'IP' addresses and ranges, along with datasets relating to 'IP' addresses. Tools are also provided to map 'IPv4' blocks to country codes. While it primarily has support for the 'IPv4' address space, more extensive 'IPv6' support is intended.

curlconverter

github
99.99th

Percentile

Deciphering web/'REST' 'API' and 'XHR' calls can be tricky, which is one reason why internet browsers provide "Copy as 'cURL'" functionality within their "Developer Tools" pane(s). These 'cURL' command-lines can be difficult to wrangle into an 'httr' 'GET' or 'POST' request, but you can now "straighten" these 'cURLs' either from data copied to the system clipboard or by passing in a vector of 'cURL' command-lines and getting back a list of parameter elements which can be used to form 'httr' requests. You can also make a complete/working/callable 'httr::VERB' function right from the tools provided.

decapitated

github
99.99th

Percentile

The 'Chrome' browser <https://www.google.com/chrome/> has a headless mode which can be instrumented programmatically. Tools are provided to perform headless 'Chrome' instrumentation, including retrieving the 'javascript'-executed 'DOM' contents, 'PDF' output for, or screen shot of a 'URL'.

ggcounty

github
99.99th

Percentile

Generate ggplot2 geom_map county maps

longurl

cran
99.99th

Percentile

Tools expand vectors of short URLs into long URLs. No API services are used, which may mean that this operates more slowly than API services do (since they usually cache results of expansions every user of the service performs).

99.99th

Percentile

Provides an 'htmlwidgets' interface to the 'MetricsGraphics.js' ('D3'-based) charting library which is geared towards displaying time-series data. Chart types include line charts, scatterplots, histograms and rudimentary bar charts. Support for laying out multiple charts into a grid layout is also provided. All charts are interactive and many have an option for line, label and region annotations.

ndjson

cran
99.99th

Percentile

Streaming 'JSON' ('ndjson') has one 'JSON' record per-line and many modern 'ndjson' files contain large numbers of records. These constructs may not be columnar in nature, but it is often useful to read in these files and "flatten" the structure out to enable working with the data in an R 'data.frame'-like context. Functions are provided that make it possible to read in plain 'ndjson' files or compressed ('gz') 'ndjson' files and either validate the format of the records or create "flat" 'data.table' structures from them.

qrencoder

cran
99.99th

Percentile

Quick Response codes (QR codes) are a type of matrix bar code and can be used to authenticate transactions, provide access to multi-factor authentication services and enable general data transfer in an image. QR codes use four standardized encoding modes (numeric, alphanumeric, byte/binary, and kanji) to efficiently store data. Matrix barcode generation is performed efficiently in C via the included 'libqrencoder' library created by Kentaro Fukuchi.

RBerkeley

cran
99.99th

Percentile

Oracle Berkeley DB - <http://www.oracle.com/technetwork/database/database-technologies/berkeleydb/overview/index.html> - is a family of embedded key-value database libraries providing scalable high-performance data management services to applications. The Berkeley DB products use simple function-call APIs for data access and management. This package provides an R interface to the Berkeley DB API.

ropendata

cran
99.99th

Percentile

'Rapid7' collects 'cybersecurity' data and makes it available via their 'Open Data' <http://opendata.rapid7.com> portal which has an API. Tools are provided to assist in querying for available data sets and downloading any data set authorized to a free, registered account.

99.99th

Percentile

When security risks in web services are discovered by independent security researchers who understand the severity of the risk, they often lack the channels to properly disclose them. As a result, security issues may be left unreported. The 'security.txt' 'Web Security Policies' specification defines an 'IETF' draft standard <https://tools.ietf.org/html/draft-foudil-securitytxt-00> to help organizations define the process for security researchers to securely disclose security vulnerabilities. Tools are provided to help identify and parse 'security.txt' files to enable analysis of the usage and adoption of these policies.

sergeant

cran
99.99th

Percentile

'Apache Drill' is a low-latency distributed query engine designed to enable data exploration and 'analytics' on both relational and non-relational 'datastores', scaling to petabytes of data. Methods are provided that enable working with 'Apache' 'Drill' instances via the 'REST' 'API', 'JDBC' interface (optional), 'DBI' 'methods' and using 'dplyr'/'dbplyr' idioms.

slackr

cran
99.99th

Percentile

'Slack' <http://slack.com/> provides a service for teams to collaborate by sharing messages, images, links, files and more. Functions are provided that make it possible to interact with the 'Slack' platform 'API'. When you need to share information or data from R, rather than resort to copy/ paste in e-mails or other services like 'Skype' <http://www.skype.com/>, you can use this package to send well-formatted output from multiple R objects and expressions to all teammates at the same time with little effort. You can also send images from the current graphics device, R objects, and upload files.

spiderbar

cran
99.99th

Percentile

The 'Robots Exclusion Protocol' <https://www.robotstxt.org/orig.html> documents a set of standards for allowing or excluding robot/spider crawling of different areas of site content. Tools are provided which wrap The 'rep-cpp' <https://github.com/seomoz/rep-cpp> C++ library for processing these 'robots.txt' files.

splashr

cran
99.99th

Percentile

'Splash' <https://github.com/scrapinghub/splash> is a 'JavaScript' rendering service. It is a lightweight web browser with an 'HTTP' API, implemented in 'Python' using 'Twisted' and 'QT' and provides some of the core functionality of the 'RSelenium' or 'seleniumPipes' R packages in a lightweight footprint. Some of 'Splash' features include the ability to process multiple web pages in parallel; retrieving 'HTML' results and/or take screen shots; disabling images or use 'Adblock Plus' rules to make rendering faster; executing custom 'JavaScript' in page context; getting detailed rendering info in 'HAR' format.

statebins

cran
99.99th

Percentile

Cartogram heatmaps are an alternative to choropleth maps for USA States and are based on work by the Washington Post graphics department in their report on "The states most threatened by trade". "State bins" preserve as much of the geographic placement of the states as possible but has the look and feel of a traditional heatmap. Functions are provided that allow for use of a binned, discrete scale, a continuous scale or manually specified colors depending on what is needed for the underlying data.

swatches

cran
99.99th

Percentile

There are numerous places to create and download color palettes. These are usually shared in 'Adobe' swatch file formats of some kind. There is also often the need to use standard palettes developed within an organization to ensure that aesthetics are carried over into all projects and output. Now there is a way to read these swatch files in R and avoid transcribing or converting color values by hand or or with other programs. This package provides functions to read and inspect 'Adobe Color' ('ACO'), 'Adobe Swatch Exchange' ('ASE'), 'GIMP Palette' ('GPL'), 'OpenOffice' palette ('SOC') files and 'KDE Palette' ('colors') files. Detailed descriptions of 'Adobe Color' and 'Swatch Exchange' file formats as well as other swatch file formats can be found at <http://www.selapa.net/swatches/colors/fileformats.php>.

newsflash

github
99.99th

Percentile

The 'GDELT' Television Explorer (<http://television.gdeltproject.org/cgi-bin/iatv_ftxtsearch/iatv_ftxtsearch>) provides a simple and straighforward interface for searching through current and historical closed-caption records from television news sources all across the globe. Functions are provided to query and tidy this data for more in-depth analyses.

nifffty

github
99.99th

Percentile

Provides a simple interface to post messages to 'IFTTT' 'Maker' channels from R, enabling R scripts to trigger 'IFTTT' recipes with optional data payloads and also receive and process Maker web requests.

notary

github
99.99th

Percentile

Signing and verification of R packages.

omdbapi

github
99.99th

Percentile

Provides API access to the 'Open Movie Database' which maintains metadata about movies, games and television shows through a public API.

Rforecastio

github
99.99th

Percentile

Programmatic access to the 'Forecast' API <https://developer.forecast.io/docs/v2>, which provides current or historical global weather conditions.

tdigest

cran
99.99th

Percentile

The t-Digest construction algorithm, by Dunning et al., (2019) <arXiv:1902.04023v1>, uses a variant of 1-dimensional k-means clustering to produce a very compact data structure that allows accurate estimation of quantiles. This t-Digest data structure can be used to estimate quantiles, compute other rank statistics or even to estimate related measures like trimmed means. The advantage of the t-Digest over previous digests for this purpose is that the t-Digest handles data with full floating point resolution. The accuracy of quantile estimates produced by t-Digests can be orders of magnitude more accurate than those produced by previous digest algorithms. Methods are provided to create and update t-Digests and retrieve quantiles from the accumulated distributions.

uaparserjs

cran
99.99th

Percentile

Despite there being a section in RFC 7231 <https://tools.ietf.org/html/rfc7231#section-5.5.3> defining a suggested structure for 'User-Agent' headers this data is notoriously difficult to parse consistently. A function is provided that will take in user agent strings and return structured R objects. This is a 'V8'-backed package based on the 'ua-parser' project <https://github.com/ua-parser>.

ulid

cran
99.99th

Percentile

Universally unique identifiers ('UUIDs') can be suboptimal for many uses-cases because they aren't the most character efficient way of encoding 128 bits of randomness; v1/v2 versions are impractical in many environments, as they require access to a unique, stable MAC address; v3/v5 versions require a unique seed and produce randomly distributed IDs, which can cause fragmentation in many data structures; v4 provides no other information than randomness which can cause fragmentation in many data structures. 'ULIDs' (<https://github.com/ulid/spec>) have 128-bit compatibility with 'UUID', 1.21e+24 unique 'ULIDs' per millisecond, are lexicographically sortable, canonically encoded as a 26 character string, as opposed to the 36 character 'UUID', use Crockford's 'base32' for better efficiency and readability (5 bits per character), are case insensitive, have no special characters (i.e. are 'URL' safe) and have a onotonic sort order (correctly detects and handles the same millisecond).

vegalite

cran
99.99th

Percentile

The 'Vega-Lite' 'JavaScript' framework provides a higher-level grammar for visual analysis, akin to 'ggplot' or 'Tableau', that generates complete 'Vega' specifications. Functions exist which enable building a valid 'spec' from scratch or importing a previously created 'spec' file. Functions also exist to export 'spec' files and to generate code which will enable plots to be embedded in properly configured web pages. The default behavior is to generate an 'htmlwidget'.

voteogram

cran
99.99th

Percentile

'ProPublica' <https://projects.propublica.org/represent/> makes United States Congress member votes available and has developed their own unique cartogram to visually represent this data. Tools are provided to retrieve voting data, prepare voting data for plotting with 'ggplot2', create vote cartograms and theme them.

waffle

cran
99.99th

Percentile

Square pie charts (a.k.a. waffle charts) can be used to communicate parts of a whole for categorical quantities. To emulate the percentage view of a pie chart, a 10x10 grid should be used with each square representing 1% of the total. Modern uses of waffle charts do not necessarily adhere to this rule and can be created with a grid of any rectangular shape. Best practices suggest keeping the number of categories small, just as should be done when creating pie charts. Tools are provided to create waffle charts as well as stitch them together, and to use glyphs for making isotype pictograms.

wand

cran
99.99th

Percentile

'MIME' types are shorthand descriptors for file contents and can be determined from "magic" bytes in file headers, file contents or intuited from file extensions. Tools are provided to perform curated "magic" tests as well as mapping 'MIME' types from a database of over 1,500 extension mappings.

analogsea

cran
99.99th

Percentile

Provides a set of functions for interacting with the 'Digital Ocean' API at <https://developers.digitalocean.com/documentation/v2>, including creating images, destroying them, rebooting, getting details on regions, and available images.

99.99th

Percentile

Format for converting an R Markdown document to a grid oriented dashboard. The dashboard flexibly adapts the size of it's components to the containing web page.

geoparser

cran
99.99th

Percentile

A wrapper for the Geoparser.io API version 0.4.0 (see <https://geoparser.io/>), which is a web service that identifies places mentioned in text, disambiguates those places, and returns detailed data about the places found in the text. Basic, limited API access is free with paid plans to accommodate larger workloads.

ggthemes

cran
99.99th

Percentile

Some extra themes, geoms, and scales for 'ggplot2'. Provides 'ggplot2' themes and scales that replicate the look of plots by Edward Tufte, Stephen Few, 'Fivethirtyeight', 'The Economist', 'Stata', 'Excel', and 'The Wall Street Journal', among others. Provides 'geoms' for Tufte's box plot and range frame.

libstableR

cran
99.99th

Percentile

Tools for fast and accurate evaluation of skew stable distributions (CDF, PDF and quantile functions), random number generation and parameter estimation.

ggeasy

github
99.99th

Percentile

Provides a series of aliases to commonly used but difficult to remember `ggplot2` sequences.

lutz

cran
99.99th

Percentile

Input latitude and longitude values or an 'sf/sfc' POINT object and get back the time zone in which they exist. Two methods are implemented. One is very fast and uses 'Rcpp' in conjunction with data from the 'Javascript' library (<https://github.com/darkskyapp/tz-lookup/>). This method also works outside of countries' borders and in international waters, however speed comes at the cost of accuracy - near time zone borders away from populated centres there is a chance that it will return the incorrect time zone. The other method is slower but more accurate - it uses the 'sf' package to intersect points with a detailed map of time zones from here: <https://github.com/evansiroky/timezone-boundary-builder/>. The package also contains several utility functions for helping to understand and visualize time zones, such as listing of world time zones, including information about daylight savings times and their offsets from UTC. You can also plot a time zone to visualize the UTC offset over a year and when daylight savings times are in effect.

osmdata

cran
99.99th

Percentile

Download and import of 'OpenStreetMap' ('OSM') data as 'sf' or 'sp' objects. 'OSM' data are extracted from the 'Overpass' web server and processed with very fast 'C++' routines for return to 'R'.

rgeolocate

cran
99.99th

Percentile

Connectors to online and offline sources for taking IP addresses and geolocating them to country, city, timezone and other geographic ranges. For individual connectors, see the package index.

rIP

cran
99.99th

Percentile

Takes an array of IPs and the keys for the services the user wishes to use (IP Hub, IP Intel, and Proxycheck), and passes these to all respective APIs. Returns a dataframe with the IP addresses (used for merging), country, ISP, labels for non-US IP Addresses, VPS use, and recommendations for blocking. The package also provides optional visualization tools for checking the distributions. Additional functions are provided to call each discrete API endpoint. The package and methods are detailed in the recent paper Waggoner, Kennedy, and Clifford (2019) <doi:10.21105/joss.01285>.

rvg

cran
99.99th

Percentile

Vector Graphics devices for Microsoft PowerPoint and Excel. Functions extending package 'officer' are provided to embed 'DrawingML' graphics into 'Microsoft PowerPoint' presentations and 'Microsoft Excel' workbooks.

99.99th

Percentile

Tools for performing routine analysis and plotting tasks with environmental data from the System Wide Monitoring Program of the National Estuarine Research Reserve System <http://cdmo.baruch.sc.edu/>. This package builds on the functionality of the SWMPr package <https://cran.r-project.org/web/packages/SWMPr/index.html>, which is used to retrieve and organize the data. The combined set of tools address common challenges associated with continuous time series data for environmental decision making, and are intended for use in annual reporting activities. References: Beck, Marcus W. (2016) <ISSN 2073-4859><https://journal.r-project.org/archive/2016-1/beck.pdf> Rudis, Bob (2014) <https://rud.is/b/2014/11/16/moving-the-earth-well-alaska-hawaii-with-r/>. United States Environmental Protection Agency (2015) <https://cfpub.epa.gov/si/si_public_record_Report.cfm?dirEntryId=327030>. United States Environmental Protection Agency (2012) <http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.646.1973&rep=rep1&type=pdf>.

99.99th

Percentile

Read General Transit Feed Specification (GTFS) zipfiles into a list of R dataframes. Perform validation of the data structure against the specification. Analyze the headways and frequencies at routes and stops. Create maps and perform spatial analysis on the routes and stops. Please see the GTFS documentation here for more detail: <http://gtfs.org/>.

tigris

cran
99.99th

Percentile

Download TIGER/Line shapefiles from the United States Census Bureau (<https://www.census.gov/geo/maps-data/data/tiger-line.html>) and load into R as 'SpatialDataFrame' or 'sf' objects.

trread

cran
99.99th

Percentile

Read General Transit Feed Specification (GTFS) zipfiles into a list of R dataframes. Perform validation of the data structure against the specification. Analyze the headways and frequencies at routes and stops. Please see the GTFS documentation here for more detail: <http://gtfs.org/>.

urltools

cran
99.99th

Percentile

A toolkit for all URL-handling needs, including encoding and decoding, parsing, parameter extraction and modification. All functions are designed to be both fast and entirely vectorised. It is intended to be useful for people dealing with web-related datasets, such as server-side logs, although may be useful for other situations involving large sets of URLs.

viridis

cran
99.99th

Percentile

Implementation of the 'viridis' - the default -, 'magma', 'plasma', 'inferno', and 'cividis' color maps for 'R'. 'viridis', 'magma', 'plasma', and 'inferno' are ported from 'matplotlib' <http://matplotlib.org/>, a popular plotting library for 'python'. 'cividis', was developed by Jamie R. Nu<c3><b1>ez and Sean M. Colby. These color maps are designed in such a way that they will analytically be perfectly perceptually-uniform, both in regular form and also when converted to black-and-white. They are also designed to be perceived by readers with the most common form of color blindness (all color maps in this package) and color vision deficiency ('cividis' only).

99.99th

Percentile

Implementation of the 'viridis' - the default -, 'magma', 'plasma', 'inferno', and 'cividis' color maps for 'R'. 'viridis', 'magma', 'plasma', and 'inferno' are ported from 'matplotlib' <http://matplotlib.org/>, a popular plotting library for 'python'. 'cividis', was developed by Jamie R. Nu<c3><b1>ez and Sean M. Colby. These color maps are designed in such a way that they will analytically be perfectly perceptually-uniform, both in regular form and also when converted to black-and-white. They are also designed to be perceived by readers with the most common form of color blindness (all color maps in this package) and color vision deficiency ('cividis' only). This is the 'lite' version of the more complete 'viridis' package that can be found at <https://cran.r-project.org/package=viridis>.