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

R 判定文

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

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

if 语句

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

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

  • switch 文

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

布尔表达式为真将执行的语句

文法形式は以下の通りです:

如果布尔表达式为真将执行的语句
    // 如果布尔表达式 boolean_expression  为 ture 执行这里面的代码,如果 为 false 则不执行。
}

0L

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

上記のコードを実行すると、出力結果は以下の通りです:

[1if...else 语句

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

if(boolean_expression) {

文法形式は以下の通りです:

如果布尔表达式为真将执行的语句
    // 如果布尔表达式为假将执行的语句
} else {
    // 如果布尔表达式 boolean_expression 为 true,则执行 if 块内的代码。如果布尔表达式为 false,则执行 else 块内的代码。
}

if("w

x <- if("weibo" %in% x) {3codebox","taobao")
print("包含 w3codebox" %in% x) {
   print("不包含 w3codebox)
} else {
   ] "包含 w3codebox)
}

上記のコードを実行すると、出力結果は以下の通りです:

[1如果有多个条件判断,可以使用 if...else if...else:3codebox"

if(boolean_expression

else if( boolean_expression 1) {
    // 为真将执行的语句 1 以上所有的布尔表达式都为 false 时执行
} 2) {
    // 为真将执行的语句 2 以上所有的布尔表达式都为 false 时执行
} 3) {
    // 为真将执行的语句 3 以上所有的布尔表达式都为 false 时执行
} else {
    // c("google","w
}
x <- if("weibo" %in% x) {3codebox","taobao")
print("第一个 if 包含 weibo")
   else if ("w
}3codebox" %in% x) {
   print("第二个 if 包含 w")3codebox)
} else {
   print("見つかりません")
}

上記のコードを実行すると、出力結果は以下の通りです:

[1] "第二の if には w3codebox"

switch 文

switch 文は、変数が複数の値に等しい場合の状況をテストすることができます。各値は case と呼ばれます。

文法形式は以下の通りです:

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

switch 文は以下の規則に従わなければなりません:

  • switch 文内の expression これは定数式であり、整数または文字列で、整数の場合は対応する case の位置値が返されます。整数が位置の範囲外の場合は NULL が返されます。

  • 複数の値に一致した場合には、最初の値が返されます。

  • expression文字列の場合は、case 内の変数名に対応する値です。一致しない場合は、値が返されません。

  • switch にはデフォルトの引数が利用できません。

以下の例では、第3つの値を返します:

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

上記のコードを実行すると、出力結果は以下の通りです:

[1] "taobao"

文字列の場合は、文字列変数に対応する値を返します:

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

上記のコードを実行すると、出力結果は以下の通りです:

[1] "ja.oldtoolbag.com"

範囲外の整数の場合は NULL を返します

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