skimr

A frictionless, pipeable approach to dealing with summary statistics

https://github.com/ropensci/skimr

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    5 of 42 committers (11.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (20.0%) to scientific vocabulary

Keywords

peer-reviewed r r-package ropensci rstats summary-statistics unconf unconf17

Keywords from Contributors

tidyverse literate-programming pandoc rmarkdown geocode tidy-data make r-targetopia reproducibility targets
Last synced: 6 months ago · JSON representation

Repository

A frictionless, pipeable approach to dealing with summary statistics

Basic Info
Statistics
  • Stars: 1,129
  • Watchers: 32
  • Forks: 79
  • Open Issues: 33
  • Releases: 18
Topics
peer-reviewed r r-package ropensci rstats summary-statistics unconf unconf17
Created almost 9 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing Codemeta

README.Rmd

---
output: md_document
---

# skimr 


```{r set-options, echo=FALSE, message=FALSE}
library(skimr)
options(pillar.width = Inf)
options(width = 100)
```


[![Project Status: Active – The project has reached a stable, usable
state and is being actively
developed.](https://www.repostatus.org/badges/latest/active.svg)](https://www.repostatus.org/)
[![R-CMD-check](https://github.com/ropensci/skimr/actions/workflows/R-CMD-check.yaml/badge.svg)](https://github.com/ropensci/skimr/actions/workflows/R-CMD-check.yaml)
[![Codecov test coverage](https://codecov.io/gh/ropensci/skimr/graph/badge.svg)](https://app.codecov.io/gh/ropensci/skimr)
[![This is an ROpenSci Peer reviewed
package](https://badges.ropensci.org/175_status.svg)](https://github.com/ropensci/software-review/issues/175)
[![CRAN\_Status\_Badge](https://www.r-pkg.org/badges/version/skimr)](https://cran.r-project.org/package=skimr)
[![cran
checks](https://badges.cranchecks.info/worst/skimr.svg)](https://badges.cranchecks.info/worst/skimr.svg)



`skimr` provides a frictionless approach to summary statistics which conforms
to the [principle of least
surprise](https://en.wikipedia.org/wiki/Principle_of_least_astonishment),
displaying summary statistics the user can skim quickly to understand their
data. It handles different data types and returns a `skim_df` object which can
be included in a pipeline or displayed nicely for the human reader.

**Note: `skimr` version 2 has major changes when skimr is used programmatically.
Upgraders should review this document, the release notes and vignettes
carefully.**

## Installation

The current released version of `skimr` can be installed from CRAN. If you wish
to install the current build of the next release you can do so using the
following:

```{r, eval = FALSE}
# install.packages("devtools")
devtools::install_github("ropensci/skimr")
```

The APIs for this branch should be considered reasonably stable but still
subject to change if an issue is discovered.

To install the version with the most recent changes that have not yet been
incorporated in the main branch (and may not be):

```{r, eval = FALSE}
devtools::install_github("ropensci/skimr", ref = "develop")
```

Do not rely on APIs from the develop branch, as they are likely to change.

## Skim statistics in the console

`skimr`:

- Provides a larger set of statistics than `summary()`, including missing,
  complete, n, and sd.
- reports each data types separately
- handles dates, logicals, and a variety of other types
- supports spark-bar and spark-line based on the
  [pillar package](https://github.com/r-lib/pillar).

### Separates variables by class:

```{r, render = knitr::normal_print}
skim(chickwts)
```

### Presentation is in a compact horizontal format:

```{r, render = knitr::normal_print}
skim(iris)
```

### Built in support for strings, lists and other column classes

```{r, render = knitr::normal_print}
skim(dplyr::starwars)
```

### Has a useful summary function

```{r, render = knitr::normal_print}
skim(iris) |>
  summary()
```

### Individual columns can be selected using tidyverse-style selectors

```{r, render = knitr::normal_print}
skim(iris, Sepal.Length, Petal.Length)
```

### Handles grouped data

`skim()` can handle data that has been grouped using `dplyr::group_by()`.

```{r, render = knitr::normal_print}
iris |>
  dplyr::group_by(Species) |>
  skim()
```

### Behaves nicely in pipelines

```{r, render = knitr::normal_print}
iris |>
  skim() |>
  dplyr::filter(numeric.sd > 1)
```

## Knitted results

Simply skimming a data frame will produce the horizontal print
layout shown above. We provide a `knit_print` method for the types of objects
in this package so that similar results are produced in documents. To use this,
make sure the `skimmed` object is the last item in your code chunk.

```{r}
faithful |>
  skim()
```

## Customizing skimr

Although skimr provides opinionated defaults, it is highly customizable.
Users can specify their own statistics, change the formatting of results,
create statistics for new classes and develop skimmers for data structures
that are not data frames.

### Specify your own statistics and classes

Users can specify their own statistics using a list combined with the
`skim_with()` function factory. `skim_with()` returns a new `skim` function that
can be called on your data. You can use this factory to produce summaries for
any type of column within your data.

Assignment within a call to `skim_with()` relies on a helper function, `sfl` or
`skimr` function list. By default, functions in the `sfl` call are appended to
the default skimmers, and names are automatically generated as well.

```{}
my_skim <- skim_with(numeric = sfl(mad))
my_skim(iris, Sepal.Length)
```

But you can also helpers from the `tidyverse` to create new anonymous functions
that set particular function arguments. The behavior is the same as in `purrr`
or `dplyr`, with both `.` and `.x` as acceptable pronouns. Setting the
`append = FALSE` argument uses only those functions that you've provided.

```{}
my_skim <- skim_with(
  numeric = sfl(
    iqr = IQR,
    p01 = ~ quantile(.x, probs = .01)
    p99 = ~ quantile(., probs = .99)
  ),
  append = FALSE
)
my_skim(iris, Sepal.Length)
```

And you can remove default skimmers by setting them to `NULL`.

```{}
my_skim <- skim_with(numeric = sfl(hist = NULL))
my_skim(iris, Sepal.Length)
```

### Skimming other objects

`skimr` has summary functions for the following types of data by default:

* `numeric` (which includes both `double` and `integer`)
* `character`
* `factor`
* `logical`
* `complex`
* `Date`
* `POSIXct`
* `ts`
* `AsIs`

`skimr` also provides a small API for writing packages that provide their own
default summary functions for data types not covered above. It relies on
R S3 methods for the `get_skimmers` function. This function should return
a `sfl`, similar to customization within `skim_with()`, but you should also
provide a value for the `class` argument. Here's an example.

```{r}
get_skimmers.my_data_type <- function(column) {
  sfl(
    .class = "my_data_type",
    p99 = quantile(., probs = .99)
  )
}
```

## Limitations of current version

We are aware that there are issues with rendering the inline histograms and
line charts in various contexts, some of which are described below.

### Support for spark histograms

With versions of R before 4.2.1, there are known issues with
printing the spark-histogram characters when
printing a data frame. For example, `"▂▅▇"` is printed as
`""`. This longstanding problem [originates in
the low-level
code](https://stat.ethz.ch/pipermail/r-devel/2015-May/071250.html)
for printing dataframes.
While some cases have been addressed, there are, for example, reports of this
issue in Emacs ESS. While this is a deep issue, there is [ongoing
work to address it in base R](https://blog.r-project.org/2020/05/02/utf-8-support-on-windows/). 
We recommend upgrading to at least R 4.2.1 to address this issue.

This means that while `skimr` can render the histograms to the console and in
RMarkdown documents, it cannot in other circumstances. This includes:

* converting a `skimr` data frame to a vanilla R data frame, but tibbles render
  correctly
* in the context of rendering to a pdf using an engine that does not support
  utf-8.

One workaround for showing these characters in Windows is to set the CTYPE part
of your locale to Chinese/Japanese/Korean with `Sys.setlocale("LC_CTYPE",
"Chinese")`. The helper function `fix_windows_histograms()` does this for you.

And last but not least, we provide `skim_without_charts()` as a fallback.
This makes it easy to still get summaries of your data, even if unicode issues
continue.

### Printing spark histograms and line graphs in knitted documents

Spark-bar and spark-line work in the console, but may not work when you knit
them to a specific document format. The same session that produces a correctly
rendered HTML document may produce an incorrectly rendered PDF, for example.
This issue can generally be addressed by changing fonts to one with good
building block (for histograms) and Braille support (for line graphs). For
example, the open font "DejaVu Sans" from the `extrafont` package supports
these. You may also want to try wrapping your results in `knitr::kable()`.
Please see the vignette on using fonts for details.

Displays in documents of different types will vary. For example, one user found
that the font "Yu Gothic UI Semilight" produced consistent results for
Microsoft Word and Libre Office Write.

## Inspirations

* [TextPlots](https://github.com/sunetos/TextPlots.jl) for use of Braille
  characters

* [spark](https://github.com/holman/spark) for use of block characters.

The earliest use of unicode characters to generate sparklines appears to be [from 2009](https://blog.jonudell.net/2009/01/13/fuel-prices-and-pageviews/).

Exercising these ideas to their fullest requires a font with good support for block drawing characters. [PragamataPro](https://fsd.it/shop/fonts/pragmatapro/) is one such font.

## Contributing

We welcome issue reports and pull requests, including potentially adding
support for commonly used variable classes. However, in general, we encourage
users to take advantage of skimr's flexibility to add their own customized
classes. Please see the
[contributing](https://docs.ropensci.org/skimr/CONTRIBUTING.html) and
[conduct](https://ropensci.org/code-of-conduct/) documents.

[![ropenci_footer](https://ropensci.org/public_images/ropensci_footer.png)](https://ropensci.org)

Owner

  • Name: rOpenSci
  • Login: ropensci
  • Kind: organization
  • Email: info@ropensci.org
  • Location: Berkeley, CA

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "skimr",
  "description": "A simple to use summary function that can be used with pipes and displays nicely in the console. The default summary statistics may be modified by the user as can the default formatting. Support for data frames and vectors is included, and users can implement their own skim methods for specific object types as described in a vignette. Default summaries include support for inline spark graphs. Instructions for managing these on specific operating systems are given in the \"skimr\" vignette and the README.",
  "name": "skimr: Compact and Flexible Summaries of Data",
  "relatedLink": [
    "https://docs.ropensci.org/skimr/",
    "https://CRAN.R-project.org/package=skimr"
  ],
  "codeRepository": "https://github.com/ropensci/skimr/",
  "issueTracker": "https://github.com/ropensci/skimr/issues",
  "license": "https://spdx.org/licenses/GPL-3.0",
  "version": "2.1.5",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.4.1 (2024-06-14)",
  "provider": {
    "@id": "https://cran.r-project.org",
    "@type": "Organization",
    "name": "Comprehensive R Archive Network (CRAN)",
    "url": "https://cran.r-project.org"
  },
  "author": [
    {
      "@type": "Person",
      "givenName": "Elin",
      "familyName": "Waring",
      "email": "elin.waring@gmail.com"
    },
    {
      "@type": "Person",
      "givenName": "Michael",
      "familyName": "Quinn",
      "email": "msquinn@google.com"
    },
    {
      "@type": "Person",
      "givenName": "Amelia",
      "familyName": "McNamara",
      "email": "amcnamara@smith.edu"
    },
    {
      "@type": "Person",
      "givenName": "Eduardo",
      "familyName": "Arino de la Rubia",
      "email": "earino@gmail.com"
    },
    {
      "@type": "Person",
      "givenName": "Hao",
      "familyName": "Zhu",
      "email": "haozhu233@gmail.com"
    },
    {
      "@type": "Person",
      "givenName": "Shannon",
      "familyName": "Ellis",
      "email": "sellis18@jhmi.edu"
    }
  ],
  "contributor": [
    {
      "@type": "Person",
      "givenName": "Julia",
      "familyName": "Lowndes",
      "email": "lowndes@nceas.ucsb.edu"
    },
    {
      "@type": "Person",
      "givenName": "Hope",
      "familyName": "McLeod",
      "email": "hmgit2@gmail.com"
    },
    {
      "@type": "Person",
      "givenName": "Hadley",
      "familyName": "Wickham",
      "email": "hadley@rstudio.com"
    },
    {
      "@type": "Person",
      "givenName": "Kirill",
      "familyName": "Mller",
      "email": "krlmlr+r@mailbox.org"
    },
    {
      "@type": "Person",
      "givenName": "Connor",
      "familyName": "Kirkpatrick",
      "email": "hello@connorkirkpatrick.com"
    },
    {
      "@type": "Person",
      "givenName": "Scott",
      "familyName": "Brenstuhl",
      "email": "brenstsr@miamioh.edu"
    },
    {
      "@type": "Person",
      "givenName": "Patrick",
      "familyName": "Schratz",
      "email": "patrick.schratz@gmail.com"
    },
    {
      "@type": "Organization",
      "name": "lbusett",
      "email": "lbusett@gmail.com"
    },
    {
      "@type": "Person",
      "givenName": "Mikko",
      "familyName": "Korpela",
      "email": "mvkorpel@iki.fi"
    },
    {
      "@type": "Person",
      "givenName": "Jennifer",
      "familyName": "Thompson",
      "email": "thompson.jennifer@gmail.com"
    },
    {
      "@type": "Person",
      "givenName": "Harris",
      "familyName": "McGehee",
      "email": "mcgehee.harris@gmail.com"
    },
    {
      "@type": "Person",
      "givenName": "Mark",
      "familyName": "Roepke",
      "email": "mroepke5@gmail.com"
    },
    {
      "@type": "Person",
      "givenName": "Patrick",
      "familyName": "Kennedy",
      "email": "pkqstr@protonmail.com"
    },
    {
      "@type": "Person",
      "givenName": "Daniel",
      "familyName": "Possenriede",
      "email": "possenriede@gmail.com"
    },
    {
      "@type": "Person",
      "givenName": "David",
      "familyName": "Zimmermann",
      "email": "david_j_zimmermann@hotmail.com"
    },
    {
      "@type": "Person",
      "givenName": "Kyle",
      "familyName": "Butts",
      "email": "buttskyle96@gmail.com"
    },
    {
      "@type": "Person",
      "givenName": "Bastian",
      "familyName": "Torges",
      "email": "bastian.torges@gmail.com"
    },
    {
      "@type": "Person",
      "givenName": "Rick",
      "familyName": "Saporta",
      "email": "Rick@TheFarmersDog.com"
    },
    {
      "@type": "Person",
      "givenName": "Henry",
      "familyName": "Morgan Stewart",
      "email": "henry.morganstewart@gmail.com"
    }
  ],
  "copyrightHolder": [
    {
      "@type": "Organization",
      "name": "RStudio, Inc."
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Elin",
      "familyName": "Waring",
      "email": "elin.waring@gmail.com"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "covr",
      "name": "covr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=covr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "crayon",
      "name": "crayon",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=crayon"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "data.table",
      "name": "data.table",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=data.table"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "dtplyr",
      "name": "dtplyr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=dtplyr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "extrafont",
      "name": "extrafont",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=extrafont"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "haven",
      "name": "haven",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=haven"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "lubridate",
      "name": "lubridate",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=lubridate"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rmarkdown",
      "name": "rmarkdown",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rmarkdown"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "version": ">= 2.0.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=testthat"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "withr",
      "name": "withr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=withr"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "R",
      "name": "R",
      "version": ">= 3.1.2"
    },
    "2": {
      "@type": "SoftwareApplication",
      "identifier": "cli",
      "name": "cli",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=cli"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "dplyr",
      "name": "dplyr",
      "version": ">= 0.8.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=dplyr"
    },
    "4": {
      "@type": "SoftwareApplication",
      "identifier": "knitr",
      "name": "knitr",
      "version": ">= 1.2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=knitr"
    },
    "5": {
      "@type": "SoftwareApplication",
      "identifier": "magrittr",
      "name": "magrittr",
      "version": ">= 1.5",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=magrittr"
    },
    "6": {
      "@type": "SoftwareApplication",
      "identifier": "pillar",
      "name": "pillar",
      "version": ">= 1.6.4",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=pillar"
    },
    "7": {
      "@type": "SoftwareApplication",
      "identifier": "purrr",
      "name": "purrr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=purrr"
    },
    "8": {
      "@type": "SoftwareApplication",
      "identifier": "repr",
      "name": "repr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=repr"
    },
    "9": {
      "@type": "SoftwareApplication",
      "identifier": "rlang",
      "name": "rlang",
      "version": ">= 0.3.1",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rlang"
    },
    "10": {
      "@type": "SoftwareApplication",
      "identifier": "stats",
      "name": "stats"
    },
    "11": {
      "@type": "SoftwareApplication",
      "identifier": "stringr",
      "name": "stringr",
      "version": ">= 1.1",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=stringr"
    },
    "12": {
      "@type": "SoftwareApplication",
      "identifier": "tibble",
      "name": "tibble",
      "version": ">= 2.0.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=tibble"
    },
    "13": {
      "@type": "SoftwareApplication",
      "identifier": "tidyr",
      "name": "tidyr",
      "version": ">= 1.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=tidyr"
    },
    "14": {
      "@type": "SoftwareApplication",
      "identifier": "tidyselect",
      "name": "tidyselect",
      "version": ">= 1.0.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=tidyselect"
    },
    "15": {
      "@type": "SoftwareApplication",
      "identifier": "vctrs",
      "name": "vctrs",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=vctrs"
    },
    "SystemRequirements": null
  },
  "fileSize": "3070.479KB",
  "releaseNotes": "https://github.com/ropensci/skimr/blob/master/NEWS.md",
  "contIntegration": [
    "https://github.com/ropensci/skimr/actions?workflow=R-CMD-check",
    "https://app.codecov.io/gh/ropensci/skimr"
  ],
  "developmentStatus": "https://www.repostatus.org/",
  "review": {
    "@type": "Review",
    "url": "https://github.com/ropensci/software-review/issues/175",
    "provider": "https://ropensci.org"
  }
}

GitHub Events

Total
  • Create event: 5
  • Release event: 1
  • Issues event: 16
  • Watch event: 23
  • Delete event: 1
  • Issue comment event: 42
  • Push event: 23
  • Pull request event: 19
  • Fork event: 3
Last Year
  • Create event: 5
  • Release event: 1
  • Issues event: 16
  • Watch event: 23
  • Delete event: 1
  • Issue comment event: 42
  • Push event: 23
  • Pull request event: 19
  • Fork event: 3

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 1,029
  • Total Committers: 42
  • Avg Commits per committer: 24.5
  • Development Distribution Score (DDS): 0.576
Past Year
  • Commits: 22
  • Committers: 2
  • Avg Commits per committer: 11.0
  • Development Distribution Score (DDS): 0.273
Top Committers
Name Email Commits
Elin Waring e****g@g****m 436
Michael Quinn m****n@a****u 416
ShanEllis s****8@j****u 21
jules32 j****t@n****u 19
olivroy o****1@h****m 16
Eduardo Arino de la Rubia e****o@g****m 14
GShotwell g****l@g****m 12
Hao Zhu h****3@g****m 10
Yihui Xie x****e@y****e 9
Hadley Wickham h****m@g****m 8
Connor Kirkpatrick c****k@h****m 6
Scott Brenstuhl b****r@m****u 5
Michael Quinn m****n@M****1 4
Jennifer Thompson t****r@g****m 4
Maëlle Salmon m****n@y****e 4
Henry Morgan Stewart h****y@H****d 3
Bastian Torges b****s@g****m 3
Hope h****2@g****m 3
kylebutts b****6@g****m 3
AmeliaMN a****a@g****m 2
Ben Marwick b****k@h****m 2
Mark Roepke m****5@g****m 2
Michael Chirico c****m@g****m 2
Mikko Korpela m****l@i****i 2
TJ Mahr t****r 2
karldw k****w 2
lbusett l****t@g****m 2
Daniel Possenriede p****e@g****m 2
Rick Saporta on TFD_MBP_2019 R****k@T****m 2
jn t****i@g****m 1
and 12 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 65
  • Total pull requests: 68
  • Average time to close issues: 6 months
  • Average time to close pull requests: about 1 month
  • Total issue authors: 39
  • Total pull request authors: 10
  • Average comments per issue: 4.31
  • Average comments per pull request: 1.15
  • Merged pull requests: 60
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 8
  • Pull requests: 13
  • Average time to close issues: 6 days
  • Average time to close pull requests: 15 days
  • Issue authors: 6
  • Pull request authors: 5
  • Average comments per issue: 0.88
  • Average comments per pull request: 0.38
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • elinw (14)
  • michaelquinn32 (10)
  • jxu (2)
  • blueja5 (2)
  • hadley (2)
  • ArthurAndrews (2)
  • MichalLauer (1)
  • tungttnguyen (1)
  • thisisnickb (1)
  • hms1 (1)
  • A-Pai (1)
  • mdav43 (1)
  • vorpalvorpal (1)
  • DaZaM82 (1)
  • DavisVaughan (1)
Pull Request Authors
  • elinw (29)
  • michaelquinn32 (26)
  • olivroy (4)
  • hadley (2)
  • hms1 (2)
  • MichaelChirico (2)
  • maelle (1)
  • strohne (1)
  • krlmlr (1)
  • dlebauer (1)
Top Labels
Issue Labels
enhancement (4) wontfix (1) Information for users (1) roadmap (1) known issue (1) skimr-v2-roadmap (1) help wanted (1) bug (1) code quality (1)
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • cran 40,179 last-month
  • Total docker downloads: 134,108
  • Total dependent packages: 25
  • Total dependent repositories: 106
  • Total versions: 18
  • Total maintainers: 1
cran.r-project.org: skimr

Compact and Flexible Summaries of Data

  • Versions: 18
  • Dependent Packages: 25
  • Dependent Repositories: 106
  • Downloads: 40,179 Last month
  • Docker Downloads: 134,108
Rankings
Stargazers count: 0.2%
Forks count: 0.8%
Downloads: 2.1%
Dependent repos count: 2.1%
Dependent packages count: 3.0%
Average: 5.1%
Docker downloads count: 22.6%
Maintainers (1)
Last synced: 7 months ago

Dependencies

.github/workflows/R-CMD-check.yaml actions
  • actions/checkout v2 composite
  • r-lib/actions/check-r-package v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/manual-standard-check.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/upload-artifact main composite
  • r-lib/actions/setup-pandoc v1 composite
  • r-lib/actions/setup-r v1 composite
.github/workflows/pkgdown.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
.github/workflows/test-coverage.yaml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • r-lib/actions/setup-r v2 composite
DESCRIPTION cran
  • R >= 3.1.2 depends
  • cli * imports
  • dplyr >= 0.8.0 imports
  • knitr >= 1.2 imports
  • magrittr >= 1.5 imports
  • pillar >= 1.6.4 imports
  • purrr * imports
  • repr * imports
  • rlang >= 0.3.1 imports
  • stats * imports
  • stringr >= 1.1 imports
  • tibble >= 2.0.0 imports
  • tidyr >= 1.0 imports
  • tidyselect >= 1.0.0 imports
  • vctrs * imports
  • covr * suggests
  • crayon * suggests
  • data.table * suggests
  • dtplyr * suggests
  • extrafont * suggests
  • haven * suggests
  • lubridate * suggests
  • rmarkdown * suggests
  • testthat >= 2.0.0 suggests
  • withr * suggests