gpt4 book ai didi

r - Ifelse 有 3 个条件和 2 个结果

转载 作者:行者123 更新时间:2023-12-05 01:52:43 24 4
gpt4 key购买 nike

我想根据以下条件替换 var2 的值:

  1. 如果 var1 不等于 1 或 2,则 var2 等于其原始值
  2. 如果 var1 等于 1 或 2,且 var3 等于 1,则 var2 等于其原始值。否则 var2 等于 1

我有这个:

enter image description here

<表类="s-表"><头>var1var2var3<正文>1.3512.42.113.51.214.391
<表类="s-表"><头>var1var2var3<正文>1.35121.113.51.214.391

这是我的代码,但它没有产生所需的输出。

df <- data.frame(var1=c(1, 2, 3, 4), var2=c(.35, .42, .51, .39),
var3=c(1, .11, .21, 1))

df2 <- df %>% mutate(var2 = ifelse(var1 != 1 | var1 != 2, var2,
ifelse(var1 == 1 | var1 == 2 & var3 == 1, var2, 1)))

最佳答案

您的代码只需要更改 &|

df2 <- df %>% mutate(var2 = ifelse(var1 != 1 & var1 != 2, var2, 
ifelse(var1 == 1 & var1 == 2 | var3 == 1, var2, 1)))

var1 var2 var3
1 1 0.35 1.00
2 2 1.00 0.11
3 3 0.51 0.21
4 4 0.39 1.00

关于r - Ifelse 有 3 个条件和 2 个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71516573/

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