If语句具有多个范围(R) [英] If statements with multiple ranges (R)

查看:69
本文介绍了If语句具有多个范围(R)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人知道是否可能使用基数R的"ifelse"基团.一次声明多个范围条件?使用dplyr会更容易吗?

Does anyone know if its possible to use the base R "ifelse" statement for multiple range conditions at once? Is this easier with dplyr?

 If df$var1 < 5 and df$var2 < 5 , then df$var3 = "a" 

If df$var1 > 5 and df$var1<10 AND df$var2>5 and df$var2<10, then df$var3 = "b"

 If df$var1 >10 and df$var2 >10, then df$var3 = "c" 

是否可以将所有这些组合成一个ifelse语句?

Can all this be combined into a single ifelse statement?

谢谢

推荐答案

您可以使用 case_when :

library(dplyr)
df %>%
  mutate(var3 = case_when(var1 < 5 & var2 < 5 ~ 'a', 
                          var1 > 5 & var1 < 10 & var2 > 5 & var2 < 10 ~ 'b', 
                          var1 >10 & var2 >10 ~ 'c'))

这篇关于If语句具有多个范围(R)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆