R语言中if(){}else{}语句和ifelse()函数的区别详解

 更新时间:2021年04月20日 11:58:08   作者:datanewlook  
这篇文章主要介绍了R语言中if(){}else{}语句和ifelse()函数的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

首先看看定义:

# if statement
if(cond) expr
if(cond) cons.expr  else  alt.expr

# ifelse function
ifelse(test, yes, no)

这两个函数(R语言中都是函数)相同的地方都是根据条件返回对应的值。

区别在于:

if语句的条件是个TRUE/FALSE值,如果是个长度>1的逻辑向量,只判断第一个TRUE/FALSE值;而ifelse是长度任意的逻辑向量,返回根据逻辑向量对应对的yes/no值组合的新向量

ifelse如果test的长度是1,而yes/no是长度>1的向量,也是返回长度为1的对应值。如果yes/no是list类型,则返回第一个元素。而if语句根据条件返回对应表达式的值。

if语句和ifelse不能简单互换,理由如上两点。如果用错了,得到的结果往往令人感到迷惑。

补充:R语言-条件判断语句if-else

1.if语句

if (逻辑判断值){expr}

若逻辑判断值为TRUE,则执行{expr};若逻辑判断值为FALSE,则不执行{expr}

> x<-6
> if(x<8) x<-x+10
> x
[1] 16
> x<-10
> if(x<8) x<-x+10
> x
[1] 10

2.if-else语句

if (逻辑判断值){
   expr1
   }else{
   expr2
}

若逻辑判断值为TRUE,则执行{expr1};否则不执行{expr}。

> x<-8
> if (x<30){
+     x<-x-5
+   }else{
+    x<-x+5
+ }
> x
[1] 3

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。如有错误或未考虑完全的地方,望不吝赐教。

相关文章

  • 利用R语言合并数据框的行与列实例代码

    利用R语言合并数据框的行与列实例代码

    实际操作中我们经常需要引入其他表中的列,即将其他表中列加入到表中,需要把两个或者更多的表合并成一个,下面这篇文章主要给大家介绍了关于利用R语言合并数据框的行与列的相关资料,需要的朋友可以参考下
    2022-07-07
  • R语言中的fivenum与quantile()函数算法详解

    R语言中的fivenum与quantile()函数算法详解

    这篇文章主要介绍了R语言中的fivenum与quantile()函数算法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言-因子与向量的转换方式

    R语言-因子与向量的转换方式

    这篇文章主要介绍了R语言-因子与向量的转换方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言中if(){}else{}语句和ifelse()函数的区别详解

    R语言中if(){}else{}语句和ifelse()函数的区别详解

    这篇文章主要介绍了R语言中if(){}else{}语句和ifelse()函数的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言中文本文件分割 符号 sep的用法

    R语言中文本文件分割 符号 sep的用法

    这篇文章主要介绍了R语言中文本文件分割 符号 sep的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言如何画竖线、横线、添加标签以及画固定长度的线段

    R语言如何画竖线、横线、添加标签以及画固定长度的线段

    R语言绘图的能力非常强大,有时看似繁复的图形不过寥寥数行代码就搞定,下面这篇文章主要给大家介绍了关于R语言如何画竖线、横线、添加标签以及画固定长度的线段的相关资料,需要的朋友可以参考下
    2022-11-11
  • R语言非线性模型的实现

    R语言非线性模型的实现

    本文主要介绍了R语言非线性模型的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • R语言学习代码格式一键美化

    R语言学习代码格式一键美化

    这篇文章主要为大家讲解介绍了R语言学习中代码格式一键美化的实现过程步骤,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2021-11-11
  • R语言中devtools的使用详解

    R语言中devtools的使用详解

    这篇文章主要介绍了R语言中devtools的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言多线程运算操作(解决R循环慢的问题)

    R语言多线程运算操作(解决R循环慢的问题)

    这篇文章主要介绍了R语言多线程运算操作(解决R循环慢的问题),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04

最新评论