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

问题描述 投票:0回答:1

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

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

还有比

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

r dplyr mutate
1个回答
0
投票

使用

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
© www.soinside.com 2019 - 2024. All rights reserved.