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

Sentencias de juicio en R

la estructura de juicio requiere que el programador especifique una o más condiciones a evaluar o probar, así como las declaraciones a ejecutar cuando la condición sea verdadera (obligatorio) y las declaraciones a ejecutar cuando la condición sea falsa (opcional).

la forma general de la estructura de juicio típica en la mayoría de los lenguajes de programación es la siguiente:

R ofrece los siguientes tipos de declaraciones de juicio:

  • declaración if

  • declaraciones if...else

  • Declaración switch

declaración if

una declaración if consta de una expresión booleana seguida de una o más declaraciones.

El formato de sintaxis es el siguiente:

if(boolean_expression) {
    // sentencias a ejecutar si verdadera
}

si la expresión booleana boolean_expression es verdadera, ejecutar el código aquí. Si es falsa, no ejecutar.

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

Ejecute el código anterior, el resultado de la salida es:

[1] "X es un entero"

declaraciones if...else

después de una declaración if, se puede seguir una declaración else opcional, que se ejecuta cuando la expresión booleana es falsa.

El formato de sintaxis es el siguiente:

if(boolean_expression) {
    // sentencias a ejecutar si verdadera
} else {
    // sentencias a ejecutar si falsa
}

si la expresión booleana boolean_expression es verdadera, ejecutar el código dentro del bloque if. Si la expresión booleana es falsa, ejecutar el código dentro del bloque else.

x <- if("weibo" %in% x) {3codebox,"taobao")
if("w3codebox %in% x) {
   print("contiene w3codebox)
} else {
   print("no contiene w3codebox)
}

Ejecute el código anterior, el resultado de la salida es:

[1] "contiene w3codebox"

si hay múltiples condiciones de juicio, se puede usar if...else if...else:

else if (boolean_expression 1) {
    // si la expresión booleana boolean_expression 1 sentencias a ejecutar si verdadera
} 2) {
    // si la expresión booleana boolean_expression 2 sentencias a ejecutar si verdadera
} 3) {
    // si la expresión booleana boolean_expression 3 sentencias a ejecutar si verdadera
} else {
    // ejecutarán todas las expresiones booleanas anteriores cuando sean falsas
}
x <- if("weibo" %in% x) {3codebox,"taobao")
print("primer if contiene weibo")
   else if ("w
}3codebox %in% x) {
   print("segundo if contiene w3codebox)
} else {
   print("No se encontró")
}

Ejecute el código anterior, el resultado de la salida es:

[1] "segundo if contiene w3codebox"

Declaración switch

Una declaración switch permite probar el caso en el que una variable es igual a varios valores. Cada valor se llama un caso.

El formato de sintaxis es el siguiente:

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

switch La declaración debe seguir las siguientes reglas:

  • switch La declaración de expression Es una expresión constante, puede ser un entero o una cadena, si es un entero, devuelve el valor de la posición del caso correspondiente, si el entero no está en el rango de la posición, devuelve NULL.

  • Si coincide con múltiples valores, se devuelve el primero.

  • expressionSi es una cadena, corresponde al valor de la variable del caso, si no hay coincidencia, no hay valor de retorno.

  • switch no tiene parámetros predeterminados disponibles.

El siguiente ejemplo devuelve el tercer valor:

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

Ejecute el código anterior, el resultado de la salida es:

[1] "taobao"

Si es una cadena, devuelve el valor correspondiente a la variable de cadena:

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

Ejecute el código anterior, el resultado de la salida es:

[1] "es.oldtoolbag.com"

Si el entero no está en el rango, se devuelve NULL

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