The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

Column types

library(tibble)

Overview

This vignette shows an overview of known data types and their abbreviations, and their origin. For example, <int> in the header of a column indicates an integer column, and <chr> denotes a character column.

Class Data type Example Column header
Atomic logical TRUE lgl
integer 1L int
double 1.5 dbl
character "A" chr
complex 0+1i cpl
raw as.raw(1) raw
list list(1) list
named list list(a = 1) named list
Built-in objects factor factor("A") fct
ordered ordered("a") ord
Date Sys.Date() date
POSIXt Sys.time() dttm
difftime vctrs::new_duration(1) drtn
Objects from other packages hms hms::hms(1) time
integer64 bit64::as.integer64(1e+10) int64
blob blob::blob(raw(1)) blob
Data frames data.frame data.frame(a = 1) df[,1]
tbl_df tibble(a = 1) tibble[,1]
Unchanged AsIs I(1L) I
vctrs types unspecified vctrs::unspecified(1) ???
vctrs_list_of vctrs::list_of(c(1L)) list
vctrs_vctr vctrs::new_vctr(1L) vctrs_vc
vctrs_partial_factor vctrs::partial_factor(letters) prtl_fctr
vctrs_partial_frame vctrs::partial_frame(a = 1) prtl
Language objects function function() NULL fn
symbol quote(a) sym
expression parse(text = "a <- 1\nb<- 2") expression
quosures rlang::quos(a = 1) quos

Example values

The following overview contains example values for each type:

#> Rows: 1
#> Columns: 23
#> $ logical       <lgl> TRUE
#> $ integer       <int> 1
#> $ double        <dbl> 1.5
#> $ character     <chr> "A"
#> $ complex       <cpl> 0+1i
#> $ raw           <raw> 01
#> $ list          <list> 1
#> $ `named list`  <named list> 1
#> $ factor        <fct> A
#> $ ordered       <ord> a
#> $ Date          <date> 2023-03-19
#> $ POSIXt        <dttm> 2023-03-19 10:23:09
#> $ difftime      <drtn> 1 secs
#> $ hms           <time> 00:00:01
#> $ integer64     <int64> 10000000000
#> $ blob          <blob> 00
#> $ data.frame    <df[,1]> <data.frame[1 x 1]>
#> $ tbl_df        <tibble[,1]> <tbl_df[1 x 1]>
#> $ AsIs          <I<int>> 1
#> $ unspecified   <???> NA
#> $ vctrs_list_of <list<int>> 1
#> $ vctrs_vctr    <vctrs_vc> 1
#> $ quosures      <quos> <~1>

Implementation

The column header is obtained by calling pillar::type_sum() on the column. This is an S3 method that can be overridden, but most of the time it is more useful to override vctrs::vec_ptype_abbr():

pillar:::type_sum.default
#> function (x) 
#> {
#>     pillar_attr <- attr(x, "pillar", exact = TRUE)
#>     label <- pillar_attr$label
#>     if (!is.null(label)) {
#>         return(I(label))
#>     }
#>     if (is.object(x) || vec_is(x)) {
#>         return(vec_ptype_abbr(x))
#>     }
#>     switch(typeof(x), builtin = , special = , closure = "fn", 
#>         environment = "env", symbol = if (is_missing(x)) {
#>             "missing"
#>         } else {
#>             "sym"
#>         }, typeof(x))
#> }
#> <bytecode: 0x139fbe8c8>
#> <environment: namespace:pillar>

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.