as_tibble: Coerce lists and matrices to data frames.

Description Usage Arguments Details Examples

Description

as.data.frame() is effectively a thin wrapper around data.frame, and hence is rather slow (because it calls data.frame() on each element before cbinding together). as_tibble is a new S3 generic with more efficient methods for matrices and data frames.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
as_tibble(x, ...)

## S3 method for class 'tbl_df'
as_tibble(x, ...)

## S3 method for class 'data.frame'
as_tibble(x, validate = TRUE, ...)

## S3 method for class 'list'
as_tibble(x, validate = TRUE, ...)

## S3 method for class 'matrix'
as_tibble(x, ...)

## S3 method for class 'table'
as_tibble(x, n = "n", ...)

## S3 method for class 'NULL'
as_tibble(x, ...)

## Default S3 method:
as_tibble(x, ...)

as.tibble(x, ...)

as_data_frame(x, ...)

Arguments

x

A list. Each element of the list must have the same length.

...

Other arguments passed on to individual methods.

validate

When TRUE, verifies that the input is a valid data frame (i.e. all columns are named, and are 1d vectors or lists). You may want to suppress this when you know that you already have a valid data frame and you want to save some time.

n

Name for count column, default: "n".

Details

This is an S3 generic. tibble includes methods for data frames (adds tbl_df classes), tibbles (returns unchanged input), lists, matrices, and tables. Other types are first coerced via as.data.frame() with stringsAsFactors = FALSE.

as_data_frame and as.tibble are aliases.

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
l <- list(x = 1:500, y = runif(500), z = 500:1)
df <- as_tibble(l)

m <- matrix(rnorm(50), ncol = 5)
colnames(m) <- c("a", "b", "c", "d", "e")
df <- as_tibble(m)

# as_tibble is considerably simpler than as.data.frame
# making it more suitable for use when you have things that are
# lists
## Not run: 
l2 <- replicate(26, sample(letters), simplify = FALSE)
names(l2) <- letters
microbenchmark::microbenchmark(
  as_tibble(l2, validate = FALSE),
  as_tibble(l2),
  as.data.frame(l2)
)

m <- matrix(runif(26 * 100), ncol = 26)
colnames(m) <- letters
microbenchmark::microbenchmark(
  as_tibble(m),
  as.data.frame(m)
)

## End(Not run)

Robertus100/tibble documentation built on May 9, 2019, 10:09 a.m.