gpt4 book ai didi

r - 在 dplyr::mutate 中传递公式表达式

转载 作者:行者123 更新时间:2023-12-04 08:48:03 24 4
gpt4 key购买 nike

有没有办法将公式表达式传递给 mutate 以创建新变量。

expression1 <- formula(ifelse(Var1 == 9, 0, Var1))

df <- data.frame(Var1 = sample(1:10, 10, replace = TRUE),
Var2 = sample(1:10, 10, replace = TRUE)) %>%
mutate(new_var = expression1)

最佳答案

如果是字符串,那么我们可以解析它

library(dplyr)
expression1 <- 'ifelse(Var1 == 9, 0, Var1)'
df %>%
mutate(new_var = eval(rlang::parse_expr(expression1)))

-输出

#    Var1 Var2 new_var
#1 7 7 7
#2 5 7 5
#3 5 2 5
#4 4 6 4
#5 7 9 7
#6 9 3 0
#7 9 5 0
#8 2 9 2
#9 9 2 0
#10 10 9 10

数据

df <- data.frame(Var1 = sample(1:10, 10, replace = TRUE),
Var2 = sample(1:10, 10, replace = TRUE))

关于r - 在 dplyr::mutate 中传递公式表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64216729/

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