English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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 语句
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"
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 语句允许测试一个变量等于多个值时的情况。每个值称为一个 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