English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

R 判断语句

Les structures conditionnelles exigent que le programmeur spécifie une ou plusieurs conditions à évaluer ou tester, ainsi que les instructions à exécuter si la condition est vraie (obligatoire) et les instructions à exécuter si la condition est fausse (optionnelle).

Voici la forme générale des structures conditionnelles typiques dans la plupart des langages de programmation :

R propose les types d'instructions de jugement suivants :

  • Instructions if

  • Instructions if...else

  • switch 语句

Instructions if

Une instruction if se compose d'une expression booléenne suivie d'une ou plusieurs instructions.

语法格式如下:

if(boolean_expression) {
    // Les instructions à exécuter si vrai
}

Si l'expression booléenne boolean_expression est true, exécutez le code ci-dessous, sinon ne pas exécuter.

x <- 50L
if(is.integer(x)) {
   print("X est un entier")
}

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

[1] "X est un entier"

Instructions if...else

Un bloc if peut être suivi d'une instruction else optionnelle, qui s'exécute si l'expression booléenne est fausse.

语法格式如下:

if(boolean_expression) {
    // Les instructions à exécuter si vrai
} else {
    // Les instructions à exécuter si faux
}

Si l'expression booléenne boolean_expression est true, exécutez le code du bloc if. Si l'expression booléenne est false, exécutez le code du bloc else.

x <- c("google","w3codebox,"taobao")
if("w3codebox" in x) {
   print("Contient w3codebox)
} else {
   print("Ne contient pas w3codebox)
}

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

[1] contient w3codebox"

Si plusieurs conditions sont à vérifier, vous pouvez utiliser if...else if...else :

else if (boolean_expression 1) {
    // Si l'expression booléenne boolean_expression 1 Les instructions à exécuter si vrai
} 2) {
    // Si l'expression booléenne boolean_expression 2 Les instructions à exécuter si vrai
} 3) {
    // Si l'expression booléenne boolean_expression 3 Les instructions à exécuter si vrai
} else {
    // Les expressions booléennes suivantes sont toutes fausses
}
x <- c("google","w3codebox,"taobao")
print("Premier if contient weibo")
   else if ("w
}3codebox" in x) {
   print("Deuxième if contient w3codebox)
} else {
   print("没有找到")
}

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

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

switch 语句

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

语法格式如下:

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

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

  • switch 语句中的 expression 是一个常量表达式,可以是整数或字符串,如果是整数则返回对应的 case 位置值,如果整数不在位置的范围内则返回 NULL。

  • 如果匹配到多个值则返回第一个。

  • expression如果是字符串,则对应的是 case 中的变量名对应的值,没有匹配则没有返回值。

  • switch 没有默认参数可用。

以下示例返回第三个值:

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

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

[1] "taobao"

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

you.like<-"w3codebox"
switch(you.like, google="www.google.com", w3codebox = "fr.oldtoolbag.com", taobao = "www.taobao.com")

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

[1] "fr.oldtoolbag.com"

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

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