gpt4 book ai didi

r - 在列表定义中使用 rlang::sym

转载 作者:行者123 更新时间:2023-12-01 11:15:29 26 4
gpt4 key购买 nike

我正在编写一个 R 脚本,我需要允许用户指定将被手动处理的变量的名称,即

var <- 'user_name'

一般来说,我指的是使用 rlang::sym 和引用/取消引用机制。但是,我需要使用 tidyr::replace_na 并且我的想法在这里都不起作用,因为变量的名称必须在 list 中指定。

在这种情况下我如何引用我的var?我在想下面这样的事情:

data <- data %>% replace_na(list(sym(var) = 0))

但是没用...

最佳答案

我们还可以将replace_na 放在mutate 中并取消引用:

library(dplyr)
library(tidyr)

var <- 'user_name'

data %>%
mutate(!!var := replace_na(!!sym(var), 0))

结果:

  user_name
1 0
2 1
3 2
4 3
5 4
6 5

数据:

data <- data.frame(user_name = c(NA, 1:5))

关于r - 在列表定义中使用 rlang::sym,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52078196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com