鉴于这种情况
id = "a"
df <- tibble(
id = c("a", "b", "c"),
value = c(1, 2, 3)
)
df %>% dplyr::filter(id == id)
Run Code Online (Sandbox Code Playgroud)
我期望最后一行具有相同的输出,df %>% dplyr::filter(id == "a")但它仍然引用id为 df 列而不是变量。我可以强制它寻找变量id吗?
.env这可以通过代词来实现rlang:
例如,请参阅这篇博文。
\nlibrary(dplyr)\n\nid = "a"\n\ndf <- tibble(\n id = c("a", "b", "c"),\n value = c(1, 2, 3)\n)\n\ndf %>% \n dplyr::filter(id == .env$id)\n#> # A tibble: 1 \xc3\x97 2\n#> id value\n#> <chr> <dbl>\n#> 1 a 1\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
772 次 |
| 最近记录: |