gpt4 book ai didi

r - 对多个条件使用 if else 语句

转载 作者:行者123 更新时间:2023-12-04 10:15:43 27 4
gpt4 key购买 nike

样本数据:

x<-runif(100, min=0, max=1)
y<-runif(100, min=0, max=1)
dif<-x-y
dat<-data.frame(x,dif)

我想要做的是在数据框中创建另一列 datsuit .如 x小于 0.15 和 dif小于 0,小于 suit应该有一个值 3。如果 x小于 0.15 和 dif大于 0,大于 suit应该有一个值 2 并且如果 dif大于 0,大于 suit值为 1。

这是我准备的代码。
if(dat$x<0.15 & dat$dif<0){
dat$suit<-3
} else {
if(dat$x>=0.15 & dat$dif<0){
dat$suit<-2
} else {
dat$suit<-1
}
}

它给出了 dat$suit 的所有值作为 1. 我不确定我在这里做错了什么。

感谢您的帮助。

最佳答案

这可以使用 ifelse 来完成。

with(dat, ifelse(x < 0.15 & dif <0, 3, ifelse(x > 0.15 & dif < 0, 2, 1)))

或者
with(dat, as.numeric(factor(1+4*(x < 0.15 & dif < 0) + 2*(x>=0.15 & dif < 0))))

关于r - 对多个条件使用 if else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36812623/

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