dplyr:用最后一列的数据进行变异

Chr*_*ris 1 r dplyr mutate

我想使用数据框最后一列的数据创建一个新列:

df <- matrix(1:4, ncol = 2) %>% as.data.frame()
df %>% mutate(V3 = .[[ncol(.)]] * 2)
Run Code Online (Sandbox Code Playgroud)

还有比 更容易阅读和理解的表达方式吗.[[ncol(.)]]

ste*_*fan 5

使用acrossandlast_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
Run Code Online (Sandbox Code Playgroud)