R语言判断语句的使用详解

判断结构要求程序员指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。

下面是大多数编程语言中典型的判断结构的一般形式:

R 语言提供了以下类型的判断语句:

  • if 语句
  • if...else 语句
  • switch 语句

if 语句

一个 if 语句 由一个布尔表达式后跟一个或多个语句组成。

语法格式如下:

if(boolean_expression) {
 // 布尔表达式为真将执行的语句
}

如果布尔表达式 boolean_expression 为 ture 执行这里面的代码,如果 为 false 则不执行。

x <- 50L
if(is.integer(x)) {
   print("X 是一个整数")
}

执行以上代码,输出结果为:

[1] "X 是一个整数"

if...else 语句

一个 if 语句 后可跟一个可选的 else 语句,else 语句在布尔表达式为假时执行。

语法格式如下:

if(boolean_expression) {
 // 如果布尔表达式为真将执行的语句
} else {
 // 如果布尔表达式为假将执行的语句
}

如果布尔表达式 boolean_expression 为 true,则执行 if 块内的代码。如果布尔表达式为 false,则执行 else 块内的代码。

x <- c("google","runoob","taobao")

if("runoob" %in% x) {
   print("包含 runoob")
} else {
   print("不包含 runoob")
}

执行以上代码,输出结果为:

[1] "包含 runoob"

如果有多个条件判断,可以使用 if...else if...else:

if(boolean_expression 1) {
 // 如果布尔表达式 boolean_expression 1 为真将执行的语句
} else if( boolean_expression 2) {
 // 如果布尔表达式 boolean_expression 2 为真将执行的语句
} else if( boolean_expression 3) {
 // 如果布尔表达式 boolean_expression 3 为真将执行的语句
} else {
 // 以上所有的布尔表达式都为 false 时执行
}
x <- c("google","runoob","taobao")

if("weibo" %in% x) {
   print("第一个 if 包含 weibo")
} else if ("runoob" %in% x) {
   print("第二个 if 包含 runoob")
} else {
   print("没有找到")
}

执行以上代码,输出结果为:

[1] "第二个 if 包含 runoob"

switch 语句

一个 switch 语句允许测试一个变量等于多个值时的情况。每个值称为一个 case。

语法格式如下:

switch(expression, case1, case2, case3....)

switch 语句必须遵循下面的规则:

  • switch 语句中的 expression 是一个常量表达式,可以是整数或字符串,如果是整数则返回对应的 case 位置值,如果整数不在位置的范围内则返回 NULL。
  • 如果匹配到多个值则返回第一个。
  • expression如果是字符串,则对应的是 case 中的变量名对应的值,没有匹配则没有返回值。
  • switch 没有默认参数可用。

以下实例返回第三个值:

x <- switch(
   3,
   "google",
   "runoob",
   "taobao",
   "weibo"
)
print(x)

执行以上代码,输出结果为:

[1] "taobao"

如果是字符串返回字符串变量对应的值:

you.like<-"runoob"
switch(you.like, google="www.google.com", runoob = "www.runoob.com", taobao = www.taobao.com)

执行以上代码,输出结果为:

[1] www.runoob.com

如果整数不在范围内的则返回 NULL

> x <- switch(4,"google","runoob","taobao")
> x
NULL
> x <- switch(4,"google","runoob","taobao")
> x
NULL

以上就是R语言判断语句的使用详解的详细内容,更多关于R语言判断语句的资料请关注我们其它相关文章!

(0)

相关推荐

  • R语言中的vector(向量),array(数组)使用总结

    对于那些有一点编程经验的人来说,vector,matrix,array,list,data.frame就相当于编程语言中的容器,因为只是将R看做数据处理工具所以它们的底层是靠什么实现的,内存怎么处理的具体也不要深究. R语言很奇怪的是它是面向对象的语言,所以经常会调用系统的方法,而且更奇怪的是总是调用"谓语"的方法,用起来像是写句子一样,记起来真是让人费解.比如is.vector(),read.table(),as.vector().. 直接开始吧:(由于习惯,大部分用"=&

  • 如何用R语言绘制饼图和条形图

    R 语言提供来大量的库来实现绘图功能. 饼图,或称饼状图,是一个划分为几个扇形的圆形统计图表,用于描述量.频率或百分比之间的相对关系. R 语言使用 pie() 函数来实现饼图,语法格式如下: pie(x, labels = names(x), edges = 200, radius = 0.8, clockwise = FALSE, init.angle = if(clockwise) 90 else 0, density = NULL, angle = 45, col = NULL, bor

  • R语言的下载安装图文教程讲解

    什么是R语言 R语言是一个开源的数据分析环境,起初是由数位统计学家建立起来,以更好的进行统计计算和绘图,这篇wiki中包含了一些基本情况的介绍.由于R可以通过安装扩展包(Packages)而得到增强,所以其功能已经远远不限于统计分析,如果感兴趣的话可以到官方网站了解关于其功能的更多信息. 至于R语言名称的由来则是根据两位主要作者的首字母(Robert Gentleman and Ross Ihaka),但过于简短的关键词也造成在搜索引擎中很不容易找到相关的资料.不过这个专门的搜索网站可以帮到你.

  • R语言绘图如何支持中文

    不同系统的字体库目录: Linux 一般在 /usr/share/fonts 下,我们可以使用 fc-list 命令查看: # fc-list /usr/share/fonts/truetype/dejavu/DejaVuSerif-Bold.ttf: DejaVu Serif:style=Bold /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf: DejaVu Sans Mono:style=Book /usr/share/fonts/t

  • 大数据分析R语言RStudio使用超详细教程

    RStudio是用于R编程的开源工具.如果您对使用R编程感兴趣,则值得了解RStudio的功能.它是一种灵活的工具,可帮助您创建可读的分析,并将您的代码,图像,注释和图解保持在一起. 在此大数据分析R语言RStudio使用教程文章中,我们将介绍RStudio免费版本的一些最佳功能:RStudio Desktop.我们收集了一些RStudio的重要技巧,窍门和快捷方式,可快速将您变成RStudio高级用户! 1.在窗口窗格之间快速导航 RStudio窗格可让您访问有关项目的重要信息.知道如何在窗格

  • R语言是什么 R语言简介

    R是由Ross Ihaka和Robert Gentleman在1993年开发的一种编程语言,R拥有广泛的统计和图形方法目录.它包括机器学习算法.线性回归.时间序列.统计推理等.大多数R库都是用R编写的,但是对于繁重的计算任务,最好使用C.c++和Fortran代码. R不仅在学术界很受欢迎,很多大公司也使用R编程语言,包括Uber.谷歌.Airbnb.Facebook等.用R进行数据分析需要一系列步骤:编程.转换.发现.建模和交流结果 R 语言是为数学研究工作者设计的一种数学编程语言,主要用于统

  • R语言histogram(直方图)的具体使用

    最近小仙同学很是烦恼,本以为自己已经掌握了ggplot2作图的语法,用read.csv(), ggplot()+geom_point()/boxplot()/violinplot()-就可以画遍天下图表,结果却发现到真正画图的时候,还是会出现不少的小问题. 比如小仙最近要画一个直方图,最开始用hist()函数试了一下,看了下形状, 好像因为数据取值范围跨度太大(最大值104,724,最小值30),这个图画出来有点丑,于是决定用ggplot美化一下. 调整之后好看是好看了,但是大家有没有看出什么不

  • R语言如何将大型Excel文件转为dta格式详解

    本文以2000年度我国工业企业数据库为例,该文件后缀名为xlsx,包含约16万条记录,文件有88M这么大.直接使用Excel打开都费劲:等待时间久,电脑风扇呼呼呼作响.如果尝试用Stata打开该xlsx文件,则会出现提示报错. 报错原因在于,Stata无法读取超过40M的Excel文件. 这就好比瓜迪奥拉的传控足球固然美丽,但是面对摆大巴的球队无能为力. 破大巴需要攻城锤,这把锤子的名字就是R语言.万事开头难啊,正憧憬着数据清洗和花式选取变量建模呢,可不能连数据们长啥模样都没见着啊.R语言适时挺

  • R语言dplyr包之高效数据处理函数(filter、group_by、mutate、summarise)详解

    R语言dplyr包的数据整理.分析函数用法文章连载NO.01 在日常数据处理过程中难免会遇到些难处理的,选取更适合的函数分割.筛选.合并等实在是大快人心! 利用dplyr包中的函数更高效的数据清洗.数据分析,及为后续数据建模创造环境:本篇涉及到的函数为filter.filter_all().filter_if().filter_at().mutate.group_by.select.summarise. 1.数据筛选函数: #可使用filter()函数筛选/查找特定条件的行或者样本 #filte

  • R语言入门之安装R和Rstuido软件

    安装R和Rstuido软件 R语言是用于统计分析,图形表示和报告的编程语言和软件环境:Rstudio是编辑.运行R语言的最为理想的工具之一. 1.官网下载R安装包 下载地址为:https://cran.r-project.org   进入链接,如下图所示,在页面顶部提供了三个下载链接,分别对应三种操作系统:Windows.Mac和Linux.请选择自己操作系统对应的链接,接下来我将以windows为例给大家展示安装过程. 接下来单击[Download R for Windows]-->[base

  • R语言作图之直方图histogram绘制过程详解

    先给大家介绍下R语言入门:直方图histogram的绘制,具体内容如下所示: 直方图和条形图最大的不同则是直方图可以用于显示出一个数据的频数,具有统计的作用,我们下面来看一一看直方图在R语言当中是如何绘制的吧! 首先创建一系列的数据: h<-c(4,6,3,46,3,5,7,8,3,4,3,4,5) 创建完之后将这个数据纳入到直方图histogram的绘制函数hist()当中,如下所示: hist(h,xlab = "number'scale",ylab="Right&

  • R语言多元Logistic逻辑回归应用实例

    可以使用逐步过程确定多元逻辑回归.此函数选择模型以最小化AIC. 如何进行多元逻辑回归 可以使用阶梯函数通过逐步过程确定多元逻辑回归.此函数选择模型以最小化AIC. 通常建议不要盲目地遵循逐步程序,而是要使用拟合统计(AIC,AICc,BIC)比较模型,或者根据生物学或科学上合理的可用变量建立模型. 多元相关是研究潜在自变量之间关系的一种工具.例如,如果两个独立变量彼此相关,可能在最终模型中都不需要这两个变量,但可能有理由选择一个变量而不是另一个变量. 多元相关 创建数值变量的数据框 Data.

随机推荐