r - 如何在 dplyr 中使用 mutate 动态修改变量?
问题描述
我希望动态选择变量并在 tibble 数据框中修改它们。我复制了一个示例问题。有人可以帮忙吗。谢谢
df <- tibble(
x = c(1, 2, 3),
y = c(4, 5, 6),
z = c(6, 7, 8))
variables = c("x", "y")
for (var in variables)
{
df <- df %>% mutate(var = var + 1)
}
解决方案
我们可以mutate
使用across
library(dplyr)
df %>%
mutate(across(all_of(variables), ~ . + 1))
-输出
# A tibble: 3 x 3
# x y z
# <dbl> <dbl> <dbl>
#1 2 5 6
#2 3 6 7
#3 4 7 8
数据
df <- tibble(
x = c(1, 2, 3),
y = c(4, 5, 6),
z = c(6, 7, 8))
variables = c("x", "y")
推荐阅读
- python - 为 Pipenv 提供用于生产和开发的不同来源或 git url
- java - sun.audio.AudioPlayer,AudioStream 不会多次播放同一个声音文件
- xamarin - 如何使用 Xamarin.Forms MediaManager 库和 MVVM 播放 youtube 视频
- unit-testing - 如何实例化聚合以测试其他聚合?
- c# - itext PDF 链接在 Microsoft Edge 中不起作用
- android - 与 fontVariationSettings 相关的 Cordova 构建问题
- python-3.x - 在两个巨大的数据集中找到相同的值
- typescript - Typescript:至少实现一个特定接口的类
- javascript - How to handle dynamic image paths with webpack
- javascript - JavaScript Uglify 不同且正确?