tidyeval-data: '.data' Pronoun

Description

Description

These pronouns allow you to be explicit about where to find objects when programming with data masked functions.

1
2
m <- 10
mtcars %>% mutate(disp = .data$disp * .env$m)

Because the lookup is explicit, there is no ambiguity between both kinds of variables. Compare:

1
2
3
disp <- 10
mtcars %>% mutate(disp = .data$disp * .env$disp)
mtcars %>% mutate(disp = disp * disp)

The .data object exported from rlang is also useful to import in your package namespace to avoid a R CMD check note when referring to objects from the data mask.

Note that .data is only a pronoun, it is not a real data frame. This means that you can't take its names or map a function over the contents of .data. Similarly, .env is not an actual R environment. For instance, it doesn't have a parent and the subsetting operators behave differently.


jesse-smith/covidsms documentation built on Dec. 25, 2021, 4:24 a.m.