我想使用数据框最后一列的数据创建一个新列:
df <- matrix(1:4, ncol = 2) %>% as.data.frame()
df %>% mutate(V3 = .[[ncol(.)]] * 2)
还有比
.[[ncol(.)]]
更容易阅读和理解的表达方式吗?
使用
across
和 last_col
你可以这样做:
library(dplyr, warn=FALSE)
df <- matrix(1:4, ncol = 2) %>% as.data.frame()
df %>%
mutate(across(last_col(), ~ .x * 2, .names = "V3"))
#> V1 V2 V3
#> 1 1 3 6
#> 2 2 4 8