## ----knitr-setup, include = FALSE----------------------------------------------------------------- unloadNamespace("dplyr") require(container) has = container::has has_name = container::has_name knitr::opts_chunk$set( comment = "#", prompt = FALSE, tidy = FALSE, cache = FALSE, collapse = TRUE ) old <- options(width = 100L) ## ------------------------------------------------------------------------------------------------- library(container) co <- cont(a = 1, b = 1:10) # same as co = container(a = 1, b = 1:10) ## ------------------------------------------------------------------------------------------------- print(co) ## ------------------------------------------------------------------------------------------------- as.list(co) ## ------------------------------------------------------------------------------------------------- str(co) ## ------------------------------------------------------------------------------------------------- length(co) names(co) names(co)[1] <- "A" co ## ------------------------------------------------------------------------------------------------- l <- list(x = (1:2)^1, y = (1:2)^2) co2 <- as.container(l) co2 ## ------------------------------------------------------------------------------------------------- c(co, c = 3, d = 4) c(co, co2) ## ------------------------------------------------------------------------------------------------- co[["c"]] <- 3 co ## ------------------------------------------------------------------------------------------------- co[["co2"]] <- co2 co ## ----error = TRUE--------------------------------------------------------------------------------- try({ co[[5]] <- 5 }) ## ------------------------------------------------------------------------------------------------- co[[3]] <- 0 co[1:2] <- 0 co ## ------------------------------------------------------------------------------------------------- co[["A"]] <- NULL co ## ------------------------------------------------------------------------------------------------- co[list("A", 2, "c")] <- list(1, 2, "three") co ## ------------------------------------------------------------------------------------------------- co[[{"three"}]] <- 3 co ## ------------------------------------------------------------------------------------------------- co[[{co2}]] <- 4 co ## ------------------------------------------------------------------------------------------------- co <- container(a = 1, b = "b", c = 3, d = "d") co[["a"]] co[[1]] co[1:3] ## ------------------------------------------------------------------------------------------------- co[-1] co[-(1:3)] ## ------------------------------------------------------------------------------------------------- co$a li <- as.list(co) li$a ## ------------------------------------------------------------------------------------------------- co[1, 3, 4] co[TRUE, FALSE] co["c", "b", "a"] ## ------------------------------------------------------------------------------------------------- co[list(1, "b", 4)] co[1, "b", 4] ## ------------------------------------------------------------------------------------------------- co[a:c] co[2:d] co[-(b:c)] co[-c("a", "d")] ## ------------------------------------------------------------------------------------------------- # Replace by NSE name range co[a:c] <- 0 co # Replace complement via negative NSE range co[-(a:b)] <- 5:6 co ## ------------------------------------------------------------------------------------------------- co <- container(a = 1, b = "b", c = 3, d = "d") co[0:10] co[1, "foo", "c", "bar"] ## ------------------------------------------------------------------------------------------------- co[0:10, .default = 0] co[1, "foo", "c", "bar", .default = NA] co[1, "foo", "c", "bar", .default = "ups"] co[1, "foo", "c", "bar", .default = 1:3] ## ------------------------------------------------------------------------------------------------- co <- container(a = 1, b = "foo", c = 1, d = "foo") count(co, 1) count(co, "foo") ## ----include = FALSE---------------------------------------------------------- options(old)