我有以下数据框,
df <- tibble(x = c(2, 3, 4)) %>%
mutate(`1` = 99, `2` = 88, `3` = 77, `4` = 66, `5` = 55)
第x
列包含需要操作的列名,该列中的值必须替换为第x-1
、x
和x+1
列中的值之和.例如,对于x
为2的第一行,第2
列中的值必须替换为(99+88+77)=264.
我试着使用双花括号({{}}
)和:=
,如下所示,
df %>%
mutate("{{x}}" := {{x-1}} + {{x}} + {{x+1}})
但我得到了以下错误,
然后我试着用下面的across()
中的cur_column()
来访问专栏,
df %>%
mutate(across(-x, ~if_else(x == cur_column(), {{cur_column()}}, .x)))
我得到了与上面相同的错误,我想我可能是错误地使用了curl 运算符,有人能帮忙吗?