Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ container Public

❗ This is a read-only mirror of the CRAN R package repository. container — Extending Base 'R' Lists. Homepage: https://rpahl.github.io/container/https://github.com/rpahl/container Report bugs for this package: https://github.com/rpahl/container/issues

Notifications You must be signed in to change notification settings

cran/container

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dependencies R build status R build status CRAN checks

container logo

container provides an enhanced version of base R’s list with a carefully designed set of extract, replace, and remove operations that make it easier and safer to work with list-like data structures.

Why container?

  • safe and flexible operations to
    • extract (built-in default values, no unintended NULL)
    • add and replace (mixed indices, no unintended overrides)
    • remove (loose or strict deletion, remove by index or value)
  • compact printing
  • optional reference semantics

In addition, this package provides specialized data structures Deque, Set and Dict and a special class dict.table, designed to extend data.table by container operations to safely Manage data columns with dict.table.

Installation

# Install release version from CRAN
install.packages("container")

# Install development version from GitHub
devtools::install_github("rpahl/container")

Usage

library(container)
co <- container(colors = c("Red", "Green"), numbers = c(1, 2, 3), data = cars)
co
# [colors = ("Red" "Green"), numbers = (1 2 3), data = <<data.frame(50x2)>>]

Safe extract

at(co, "colours")   # oops
# Error: index 'colours' not found

at(co, "colors")
# [colors = ("Red" "Green")]

Safe remove

co <- delete_at(co, "colours")   # oops
# Error: names(s) not found: 'colours'

co <- delete_at(co, "colors")
co
# [numbers = (1 2 3), data = <<data.frame(50x2)>>]

Flexible peek

at(co, "colors")   # oops
# Error: index 'colors' not found

peek_at(co, "colors")
# []

peek_at(co, "colors", .default = c("black", "white"))
# [colors = ("black" "white")]

Safe replace

co <- replace_at(co, num = 1:10)   # oops
# Error: names(s) not found: 'num'

co <- replace_at(co, numbers = 1:10)
co
# [numbers = (1L 2L 3L 4L ...), data = <<data.frame(50x2)>>]

Getting Started

About

❗ This is a read-only mirror of the CRAN R package repository. container — Extending Base 'R' Lists. Homepage: https://rpahl.github.io/container/https://github.com/rpahl/container Report bugs for this package: https://github.com/rpahl/container/issues

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages