R语言 判断


R语言判断

决策结构要求程序员指定要由程序评估或测试的一个或多个条件,以及如果条件被确定为真则要执行的一个或多个语句,如果条件为假则执行其他语句。 以下是在大多数编程语言中的典型决策结构的一般形式

R提供以下类型的决策语句。 单击以下链接以检查其详细信息。

Sr.No.声明和描述
1if语句

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

2if ... else语句

if语句后面可以有一个可选的else语句,当布尔表达式为false时执行。

3switch语句

switch语句允许根据值列表测试变量的相等性。

if语句

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

语法

在R中创建if语句的基本语法是

if(boolean_expression) {
   // statement(s) will execute if the boolean expression is true.
}

如果布尔表达式的计算结果为true,那么if语句中的代码块将被执行。 如果布尔表达式的计算结果为false,那么第一组代码在if语句结束之后(在结束大括号之后)将被执行。

流程图

r if

x <- 30L
if(is.integer(x)) {
   print("X is an Integer")
}

当上面的代码被编译和执行时,它产生以下结果

[1] "X is an Integer"

If...Else语句

if语句后面可以是一个可选的else语句,当布尔表达式为false时执行。

语法

在R中创建if ... else语句的基本语法是 -

if(boolean_expression) {
   // statement(s) will execute if the boolean expression is true.
} else {
   // statement(s) will execute if the boolean expression is false.
}

如果布尔表达式的计算结果为真,则将执行if代码块,否则将执行代码块。

流程图

r if else

x <- c("what","is","truth")

if("Truth" %in% x) {
   print("Truth is found")
} else {
   print("Truth is not found")
}

当上面的代码被编译和执行时,它产生以下结果

[1] "Truth is not found"

这里“Truth”和“truth”是两个不同的字符串。

if ... else if ... else语句

if语句后面可以跟一个可选的else if ... else语句,这对于使用single if ... else if语句测试各种条件非常有用。

当使用if,else if,else语句有几点要记住。

  • 如果可以有零或一个else,它必须在任何其他if之后。
  • 一个if可以有0到许多else if和它们必须在else之前。
  • 一旦一个else如果成功,没有任何剩余的else if或else将被测试。

语法

在R中创建if ... else if ... else语句的基本语法是 -

if(boolean_expression 1) {
   // Executes when the boolean expression 1 is true.
} else if( boolean_expression 2) {
   // Executes when the boolean expression 2 is true.
} else if( boolean_expression 3) {
   // Executes when the boolean expression 3 is true.
} else {
   // executes when none of the above condition is true.
}

x <- c("what","is","truth")

if("Truth" %in% x) {
   print("Truth is found the first time")
} else if ("truth" %in% x) {
   print("truth is found the second time")
} else {
   print("No truth found")
}

当上面的代码被编译和执行时,它产生以下结果

[1] "truth is found the second time"

Switch语句

switch语句允许根据值列表测试变量的相等性。 每个值都称为大小写,并且针对每种情况检查打开的变量。

语法

在R中创建switch语句的基本语法是

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

以下规则适用于switch语句:

  • 如果expression的值不是字符串,那么它被强制为整数。
  • 在交换机中可以有任意数量的case语句。 每个案例后面都跟要比较的值和冒号。
  • 如果整数的值在1和nargs() - 1(参数的最大数目)之间,则对case条件的相应元素求值并返回结果。
  • 如果表达式求值为字符串,那么该字符串与元素的名称匹配。
  • 如果有多个匹配,则返回第一个匹配元素。
  • 无默认参数可用。
  • 在没有匹配的情况下,如果有一个未命名的元素...它的值被返回。 (如果有多个这样的参数,则返回错误。)

流程图

r switch

x <- switch(
   3,
   "first",
   "second",
   "third",
   "fourth"
)
print(x)

当上面的代码被编译和执行时,它产生以下结果

[1] "third"