tibble

A modern re-imagining of the data frame

https://github.com/tidyverse/tibble

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
    9 of 79 committers (11.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.7%) to scientific vocabulary

Keywords

r tidy-data

Keywords from Contributors

data-manipulation grammar visualisation package-creation latex parsing csv fwf documentation-tool rmarkdown
Last synced: 6 months ago · JSON representation

Repository

A modern re-imagining of the data frame

Basic Info
Statistics
  • Stars: 721
  • Watchers: 33
  • Forks: 133
  • Open Issues: 41
  • Releases: 35
Topics
r tidy-data
Created over 10 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Codeowners Support

README.Rmd

---
output:
  github_document:
    html_preview: false
---



```{r, echo = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "README-"
)

clean_output <- function(x, options) {
  x <- gsub("0x[0-9a-f]+", "0xdeadbeef", x)
  x <- gsub("dataframe_[0-9]*_[0-9]*", "      dataframe_42_42      ", x)
  x <- gsub("[0-9]*\\.___row_number ASC", "42.___row_number ASC", x)

  index <- x
  index <- gsub("─", "-", index)
  index <- strsplit(paste(index, collapse = "\n"), "\n---\n")[[1]][[2]]
  writeLines(index, "index.md")

  x <- gsub('(`vignette[(]"([^"]+)"[)]`)', "[\\1](https://tibble.tidyverse.org/articles/\\2.html)", x)
  x <- fansi::strip_sgr(x)
  x
}

options(
  cli.num_colors = 256,
  cli.width = 71,
  width = 71,
  pillar.bold = TRUE,
  pillar.max_title_chars = 5,
  pillar.min_title_chars = 5,
  pillar.max_footer_lines = 12,
  conflicts.policy = list(warn = FALSE)
)

local({
  hook_source <- knitr::knit_hooks$get("document")
  knitr::knit_hooks$set(document = clean_output)
})
```

# tibble Hexagonal logo for the R package ‘tibble’, styled with a sci-fi theme. The word ‘TIBBLE’ appears at the top in a futuristic font, and below it is a stylized table with colored bars resembling columns and rows, set against a starry space background.


[![R-CMD-check](https://github.com/tidyverse/tibble/workflows/rcc/badge.svg)](https://github.com/tidyverse/tibble/actions)
[![Codecov test coverage](https://codecov.io/gh/tidyverse/tibble/branch/main/graph/badge.svg)](https://app.codecov.io/gh/tidyverse/tibble?branch=main)
[![CRAN_Status_Badge](https://www.r-pkg.org/badges/version/tibble)](https://cran.r-project.org/package=tibble)
[![Life cycle](https://img.shields.io/badge/lifecycle-stable-brightgreen.svg)](https://lifecycle.r-lib.org/articles/stages.html)


## Overview

A __tibble__, or `tbl_df`, is a modern reimagining of the data.frame, keeping what time has proven to be effective, and throwing out what is not. Tibbles are data.frames that are lazy and surly: they do less (i.e. they don't change variable names or types, and don't do partial matching) and complain more (e.g. when a variable does not exist). This forces you to confront problems earlier, typically leading to cleaner, more expressive code. Tibbles also have an enhanced `print()` method which makes them easier to use with large datasets containing complex objects.

If you are new to tibbles, the best place to start is the [tibbles chapter](https://r4ds.had.co.nz/tibbles.html) in *R for data science*.

## Installation

```{r, eval = FALSE}
# The easiest way to get tibble is to install the whole tidyverse:
install.packages("tidyverse")

# Alternatively, install just tibble:
install.packages("tibble")

# Or the the development version from GitHub:
# install.packages("pak")
pak::pak("tidyverse/tibble")
```

## Usage

```{r}
library(tibble)
```

Create a tibble from an existing object with `as_tibble()`:

```{r}
data <- data.frame(a = 1:3, b = letters[1:3], c = Sys.Date() - 1:3)
data

as_tibble(data)
```

This will work for reasonable inputs that are already data.frames, lists, matrices, or tables.

You can also create a new tibble from column vectors with `tibble()`:

```{r}
tibble(x = 1:5, y = 1, z = x^2 + y)
```

`tibble()` does much less than `data.frame()`: it never changes the type of the inputs (e.g. it keeps list columns as is), it never changes the names of variables, it only recycles inputs of length 1, and it never creates `row.names()`. You can read more about these features in `vignette("tibble")`.

You can define a tibble row-by-row with `tribble()`:

```{r}
tribble(
  ~x, ~y,  ~z,
  "a", 2,  3.6,
  "b", 1,  8.5
)
```

## Related work

The tibble print method draws inspiration from [data.table](https://rdatatable.gitlab.io/data.table), and [frame](https://github.com/patperry/r-frame). Like `data.table::data.table()`, `tibble()` doesn't change column names and doesn't use rownames.

---
## Code of Conduct

Please note that the tibble project is released with a [Contributor Code of Conduct](https://tibble.tidyverse.org/CODE_OF_CONDUCT.html). By contributing to this project, you agree to abide by its terms.

Owner

  • Name: tidyverse
  • Login: tidyverse
  • Kind: organization

The tidyverse is a collection of R packages that share common principles and are designed to work together seamlessly

GitHub Events

Total
  • Create event: 36
  • Release event: 1
  • Issues event: 21
  • Watch event: 45
  • Delete event: 1
  • Issue comment event: 57
  • Push event: 208
  • Pull request review comment event: 1
  • Pull request event: 82
  • Fork event: 3
Last Year
  • Create event: 36
  • Release event: 1
  • Issues event: 21
  • Watch event: 45
  • Delete event: 1
  • Issue comment event: 57
  • Push event: 208
  • Pull request review comment event: 1
  • Pull request event: 82
  • Fork event: 3

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 4,358
  • Total Committers: 79
  • Avg Commits per committer: 55.165
  • Development Distribution Score (DDS): 0.383
Past Year
  • Commits: 101
  • Committers: 9
  • Avg Commits per committer: 11.222
  • Development Distribution Score (DDS): 0.089
Top Committers
Name Email Commits
Kirill Müller k****r@m****g 2,691
hadley h****m@g****m 703
Kirill Müller k****r@i****h 455
Romain François r****n@r****m 114
Jenny Bryan j****n@g****m 61
Lionel Henry l****y@g****m 48
Anh Le a****3@d****u 32
Bill Evans B****s@A****m 13
DavisVaughan d****s@r****m 13
Jim Hester j****r@g****m 12
jennybc j****y@s****a 11
Kevin Ushey k****y@g****m 10
github-actions[bot] 4****] 10
Zhilong Jia z****a@g****m 10
olivroy o****1@h****m 9
Mara Averick m****k@g****m 9
Anh Le a****1@g****m 9
Indrajeet Patil p****e@g****m 9
jabarnett j****t@t****m 8
Patrick Perry p****y@g****m 7
Hannes Mühleisen h****s@m****g 7
DavisVaughan m****5@u****u 6
Riccardo Pinosio r****o@f****l 6
Maëlle Salmon m****n@y****e 6
Nick Carchedi n****i@g****m 5
Maximilian Girlich m****h@m****m 4
Ilari Scheinin i****n@g****m 4
Nick Kennedy n****y@e****k 4
David Holstius d****s@g****m 3
Gabriela de Queiroz g****z@g****m 3
and 49 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 81
  • Total pull requests: 594
  • Average time to close issues: 11 months
  • Average time to close pull requests: 26 days
  • Total issue authors: 57
  • Total pull request authors: 15
  • Average comments per issue: 2.58
  • Average comments per pull request: 0.21
  • Merged pull requests: 138
  • Bot issues: 0
  • Bot pull requests: 446
Past Year
  • Issues: 10
  • Pull requests: 83
  • Average time to close issues: about 9 hours
  • Average time to close pull requests: 5 days
  • Issue authors: 10
  • Pull request authors: 7
  • Average comments per issue: 1.1
  • Average comments per pull request: 0.36
  • Merged pull requests: 52
  • Bot issues: 0
  • Bot pull requests: 16
Top Authors
Issue Authors
  • krlmlr (13)
  • moodymudskipper (4)
  • hadley (4)
  • DavisVaughan (3)
  • phargarten2 (2)
  • msberends (2)
  • olivroy (2)
  • twest820 (2)
  • khusmann (1)
  • nicohlara (1)
  • danwwilson (1)
  • 0xr0bert (1)
  • adrianolszewski (1)
  • wurli (1)
  • babayoshihiko (1)
Pull Request Authors
  • github-actions[bot] (446)
  • krlmlr (109)
  • andreranza (8)
  • olivroy (7)
  • MichaelChirico (6)
  • DavisVaughan (4)
  • maelle (2)
  • IndrajeetPatil (2)
  • luisDVA (2)
  • eitsupi (2)
  • lionel- (2)
  • gadenbuie (1)
  • TimTaylor (1)
  • Layalchristine24 (1)
  • heavywatal (1)
Top Labels
Issue Labels
help wanted :heart: (9) documentation (7) bug (4) feature (3) vctrs ↗️ (2) subsetting 🍽 (2) upstream 🐟 (1) upkeep (1)
Pull Request Labels
cran release (7)

Packages

  • Total packages: 3
  • Total downloads:
    • cran 1,600,405 last-month
  • Total docker downloads: 161,903,263
  • Total dependent packages: 2,539
    (may contain duplicates)
  • Total dependent repositories: 8,443
    (may contain duplicates)
  • Total versions: 87
  • Total maintainers: 1
cran.r-project.org: tibble

Simple Data Frames

  • Versions: 33
  • Dependent Packages: 2,276
  • Dependent Repositories: 8,341
  • Downloads: 1,600,405 Last month
  • Docker Downloads: 161,903,263
Rankings
Dependent repos count: 0.0%
Dependent packages count: 0.1%
Downloads: 0.1%
Forks count: 0.5%
Stargazers count: 0.5%
Average: 3.1%
Docker downloads count: 17.3%
Maintainers (1)
Last synced: 6 months ago
proxy.golang.org: github.com/tidyverse/tibble
  • Versions: 31
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.5%
Average: 5.7%
Dependent repos count: 5.9%
Last synced: 6 months ago
conda-forge.org: r-tibble
  • Versions: 23
  • Dependent Packages: 263
  • Dependent Repositories: 102
Rankings
Dependent packages count: 0.2%
Dependent repos count: 3.4%
Average: 9.0%
Stargazers count: 16.2%
Forks count: 16.3%
Last synced: 6 months ago

Dependencies

DESCRIPTION cran
  • R >= 3.1.0 depends
  • fansi >= 0.4.0 imports
  • lifecycle >= 1.0.0 imports
  • magrittr * imports
  • methods * imports
  • pillar >= 1.7.0 imports
  • pkgconfig * imports
  • rlang >= 1.0.2 imports
  • utils * imports
  • vctrs >= 0.3.8 imports
  • DiagrammeR * suggests
  • bench * suggests
  • bit64 * suggests
  • blob * suggests
  • brio * suggests
  • callr * suggests
  • cli * suggests
  • covr * suggests
  • crayon >= 1.3.4 suggests
  • dplyr * suggests
  • evaluate * suggests
  • formattable * suggests
  • ggplot2 * suggests
  • hms * suggests
  • htmltools * suggests
  • knitr * suggests
  • lubridate * suggests
  • mockr * suggests
  • nycflights13 * suggests
  • pkgbuild * suggests
  • pkgload * suggests
  • purrr * suggests
  • rmarkdown * suggests
  • stringi * suggests
  • testthat >= 3.0.2 suggests
  • tidyr * suggests
  • withr * suggests
.github/workflows/R-CMD-check-dev.yaml actions
  • ./.github/workflows/check * composite
  • ./.github/workflows/custom/after-install * composite
  • ./.github/workflows/custom/before-install * composite
  • ./.github/workflows/dep-matrix * composite
  • ./.github/workflows/install * composite
  • ./.github/workflows/rate-limit * composite
  • ./.github/workflows/update-snapshots * composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-r v2 composite
.github/workflows/R-CMD-check.yaml actions
  • ./.github/workflows/check * composite
  • ./.github/workflows/commit * composite
  • ./.github/workflows/custom/after-install * composite
  • ./.github/workflows/custom/before-install * composite
  • ./.github/workflows/git-identity * composite
  • ./.github/workflows/install * composite
  • ./.github/workflows/pkgdown-build * composite
  • ./.github/workflows/pkgdown-deploy * composite
  • ./.github/workflows/rate-limit * composite
  • ./.github/workflows/roxygenize * composite
  • ./.github/workflows/style * composite
  • ./.github/workflows/update-snapshots * composite
  • actions/checkout v3 composite
.github/workflows/check/action.yml actions
  • actions/upload-artifact main composite
  • r-lib/actions/check-r-package v2 composite
.github/workflows/continuous-benchmarks.yaml actions
  • actions/checkout master composite
  • r-lib/actions/setup-r master composite
.github/workflows/fledge.yaml actions
  • ./.github/workflows/git-identity * composite
  • ./.github/workflows/install * composite
  • actions/checkout v2 composite
.github/workflows/install/action.yml actions
  • ./.github/workflows/get-extra * 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/lock.yaml actions
  • dessant/lock-threads v2 composite
.github/workflows/pkgdown-deploy/action.yml actions
  • nick-fields/retry v2 composite
.github/workflows/pkgdown.yaml actions
  • ./.github/workflows/custom/after-install * composite
  • ./.github/workflows/custom/before-install * composite
  • ./.github/workflows/git-identity * composite
  • ./.github/workflows/install * composite
  • ./.github/workflows/pkgdown-build * composite
  • ./.github/workflows/pkgdown-deploy * composite
  • ./.github/workflows/rate-limit * composite
  • actions/checkout v3 composite
.github/workflows/pr-commands.yaml actions
  • actions/checkout v3 composite
  • r-lib/actions/pr-fetch master composite
  • r-lib/actions/pr-push master composite
  • r-lib/actions/setup-r master composite
.github/workflows/revdep.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact main composite
  • r-lib/actions/setup-pandoc v2 composite
.github/workflows/style/action.yml actions
  • actions/cache v3 composite
.github/workflows/update-snapshots/action.yml actions
  • peter-evans/create-pull-request v4 composite