我问a question有关在全局环境中访问变量的问题,其名称与dplyr函数中的列名相同。我收到的一个解决方案是使用get
。然而,出现了新的问题。如果没有明确指定环境,结果会有所不同(请参阅下文),有人可以解释原因吗?
# dplyr 0.6.0
mpg <- 21
mtcars %>% filter(mpg == get("mpg"))
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> 1 21.0 6 160.0 110 3.90 2.620 16.46 0 1 4 4
#> 2 21.0 6 160.0 110 3.90 2.875 17.02 0 1 4 4
#> 3 22.8 4 108.0 93 3.85 2.320 18.61 1 1 4 1
#> 4 21.4 6 258.0 110 3.08 3.215 19.44 1 0 3 1
#> ...
# dplyr 0.5.0
mtcars %>% filter(mpg == get("mpg"))
# mpg cyl disp hp drat wt qsec vs am gear carb
#1 21 6 160 110 3.9 2.620 16.46 0 1 4 4
#2 21 6 160 110 3.9 2.875 17.02 0 1 4 4