A Simple S3 Class for Representing Vectors of Binary Data ('BLOBS')

R's raw vector is useful for storing a single binary object. What if you want to put a vector of them in a data frame? The 'blob' package provides the blob object, a list of raw vectors, suitable for use as a column in data frame.


Travis-CI Build Status CRAN_Status_Badge Coverage Status

The goal of blob is to provide a simple S3 class to represent a vector of binary objects, aka blobs. The blob class is a lightweight wrapper around a list of raw vectors, suitable for inclusion in a data frame.

In most cases you will not need to use this package explicitly: it will be used transparently by packages that need to load BLOB columns from databases or binary file formats.

Installation

You can install blob from github with:

devtools::install_github("tidyverse/blob")

Example

To create a blob, use blob(), new_blob() or as.blob():

x1 <- charToRaw("Good morning")
x2 <- as.raw(c(0x48, 0x65, 0x6c, 0x6c, 0x6f))
 
new_blob(list(x1, x2))
#> [1] blob[12 B] blob[5 B]
blob(x1, x2)
#> [1] blob[12 B] blob[5 B]
 
as.blob(c("Good morning", "Good evening"))
#> [1] blob[12 B] blob[12 B]

News

blob 1.1.1 (2018-03-24)

  • Now suggesting pillar instead of importing tibble, and using colored formatting with the prettyunits package with B instead of b as units (#7, #9).

  • The blob class can now be used for S4 dispatch.

  • Calling c() on blob objects returns a blob.

blob 1.1.0 (2017-06-17)

  • New maintainer: Kirill Müller.

  • Added as.blob.blob()and as.data.frame.blob() methods (#3).

  • Size of very large blobs is displayed correctly.

blob 1.0.0

  • Initial release.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.

install.packages("blob")

1.2.0 by Kirill Müller, 3 months ago


https://github.com/tidyverse/blob


Report a bug at https://github.com/tidyverse/blob/issues


Browse source code at https://github.com/cran/blob


Authors: Hadley Wickham [aut] , Kirill Müller [cre] , RStudio [cph]


Documentation:   PDF Manual  


GPL-3 license


Imports methods, prettyunits, rlang, vctrs

Suggests covr, crayon, pillar, testthat


Imported by DBItest, RPostgres, RSQLite, flobr, odbc.

Suggested by DBI, dbx, dplyr.teradata, sf.


See at CRAN