Open lisa-avery opened 3 weeks ago
data <- data.frame( age=rnorm(20,35,5), sex=rbinom(20,1,.4), name=sample(LETTERS,20) ) data[["name"]] xvar <- "name" data[[xvar]] class(xvar) <- c(class(xvar),"new_class") data[[xvar]]
data <- tibble::tibble( age=rnorm(20,35,5), sex=rbinom(20,1,.4), name=sample(LETTERS,20) ) data[["name"]] #OK xvar <- "name" data[[xvar]] # OK class(xvar) <- c(class(xvar),"new_class") data[[xvar]] # ERROR
Backtrace: ▆
[[.tbl_df
<externalptr>
<fn>
Reproducible example
THIS WORKS (data.frame)----------------------
data <- data.frame( age=rnorm(20,35,5), sex=rbinom(20,1,.4), name=sample(LETTERS,20) ) data[["name"]] xvar <- "name" data[[xvar]] class(xvar) <- c(class(xvar),"new_class") data[[xvar]]
THIS FAILS (tibble) ------------------------
data <- tibble::tibble( age=rnorm(20,35,5), sex=rbinom(20,1,.4), name=sample(LETTERS,20) ) data[["name"]] #OK xvar <- "name" data[[xvar]] # OK class(xvar) <- c(class(xvar),"new_class") data[[xvar]] # ERROR
Backtrace
Backtrace: ▆
[[.tbl_df
(data, xvar)<externalptr>
, vctrs_error_incompatible_type =<fn>
)<fn>
()