20.8 Pronouns: .data$ and .env$

Ambiguity!!

An object value can come from the env or from the data mask

q1 <- new_quosure(expr(x * y + x), env = env(x = 1))
df <- data.frame(y = 1:5, 
                 x = 10)

eval_tidy(q1, df)
#> [1] 20 30 40 50 60

We use pronouns:

  • .data$x: x from the data mask
  • .env$x: x from the environment
q1 <- new_quosure(expr(.data$x * y + .env$x), env = env(x = 1))
eval_tidy(q1, df)
#> [1] 11 21 31 41 51