R 多个ifelse语句
我试图根据条件语句为列赋值,但POSIXct格式似乎让我很反感。我有一列时间,并希望将它们分配给昼/夜/黎明/黄昏,如下所示:R 多个ifelse语句,r,if-statement,conditional-statements,R,If Statement,Conditional Statements,我试图根据条件语句为列赋值,但POSIXct格式似乎让我很反感。我有一列时间,并希望将它们分配给昼/夜/黎明/黄昏,如下所示: if(t40636$time>t40636$dawn.b&t40636$time<t40636$dawn.e){ t40636$time.periods=1 } else { if(t40636$time>t40636$mid.day.b&t40636$time<t40636$mid.day.e){ t40636$
if(t40636$time>t40636$dawn.b&t40636$time<t40636$dawn.e){
t40636$time.periods=1
} else {
if(t40636$time>t40636$mid.day.b&t40636$time<t40636$mid.day.e){
t40636$time.periods=2
} else {
if(t40636$time>t40636$dusk.b&t40636$time<t40636$dusk.e){
t40636$time.periods=3
} else {
if(t40636$time>t40636$mid.night.b&t40636$time<t40636$mid.night.e){
t40636$time.periods=4
} else {
t40636$time.periods=0
}
}
}
}
ifelse产生的结果接近我想要的,但我不能用它做多个语句。如有任何建议,我们将不胜感激
t40636$time.periods=ifelse(t40636$time>t40636$dawn.b&t40636$time<t40636$dawn.e,1,0)
t40636$time.periods=ifelse(t40636$time>t40636$dawn.b&t40636$time修复我的多个if-else语句”的答案几乎总是“不要使用多个if-else结构”
R语言有一个非常好的开关功能,它的帮助页面有一些很好的例子。我同意你的观点,但这应该是一个评论。@SeñorO不,我真的希望这是一个答案,尽管我应该花时间发布一些开关的简单例子(x,'a','b','c')
开关也没有矢量化,这就是这里的问题所在。@blindJesse矢量化(开关,my.dbase,…)
是一种解决方案。简单的循环是另一种解决方案。您的问题实际上是一种修复我的代码
格式。与其让我们破译您的格式,不如提供一个简单的示例说明您正在做什么,然后寻求帮助。您没有收到警告消息吗?警告消息:…该条件的长度>1,只有f第一个元素将被使用
?这是一个关于发生了什么的线索。也许您想要的是ifelse
函数,而不是if
语句。为什么不能执行多个ifelse
语句?
t40636$time.periods=ifelse(t40636$time>t40636$dawn.b&t40636$time<t40636$dawn.e,1,0)