A simple data frame extension that preserves attributes during subsetting operations.

cj_df(x)

# S3 method for data.frame
cj_df(x)

# S3 method for cj_df
[(x, i, j, drop = FALSE)

Arguments

x

A data frame

i

See [.data.frame

j

See [.data.frame

drop

Ignored.

Value

An data frame with additional “cj_df” class, which has subsetting methods that preserve variables attributes.

Examples

x1 <- data.frame(a = 1:3, b = 4:6) attr(x1$a, "label") <- "Variable A" # cj_df() returns a data frame inherits(x1, "data.frame")
#> [1] TRUE
class(x1)
#> [1] "data.frame"
# attributes dropped for data frames attr(x1[1:2,]$a, "label")
#> NULL
# attributes preserved with a cj_df attr(cj_df(x1)[1:2,]$a, "label")
#> [1] "Variable A"