Cómo utilizar si las declaraciones en r

Si declaraciones pueden ser muy útiles en I, como lo son en cualquier lenguaje de programación ,. A menudo, usted quiere tomar decisiones y emprender acciones depende de un cierto valor.

Definición de una elección en su código es bastante simple: Si esta condición es cierta, entonces llevar a cabo una determinada tarea. Muchos lenguajes de programación permiten hacer eso exactamente con esas palabras: si. . . después. R hace que sea aún más fácil: Puede eliminar la palabra después y especificar su opción en un si comunicado.

Un si declaración en I consta de tres elementos:

  • La palabra clave si

  • Un único valor lógico entre paréntesis (o una expresión que conduce a un único valor lógico)

  • Un bloque de código entre llaves que tiene que ser ejecutado cuando el valor lógico es CIERTO

Aquí es una función muy pequeño, priceCalculator (), que calcula el precio que se cobra a un cliente basado en las horas de trabajo que hizo para ese cliente. La función debe tener el número de horas (horas) Y el precio por hora (ppc) Como entrada. los priceCalculator () función podría ser algo como esto:

priceCalculator lt; - la función (hora, ppc = 40) {net.price lt; - hora * pphround (net.price)}

Esto es lo que hace este código:

  • Con el función palabra clave, definir la función.

  • Todo entre las llaves es el cuerpo de la función (ver Capítulo 8).

  • Entre paréntesis, especifica los argumentos horas (sin un valor predeterminado) y ppc (con un valor por defecto de $ 40 por hora).

  • Usted calcula el precio neto de multiplicar horas por ppc.

  • El resultado de la última declaración en el cuerpo de la función es el valor devuelto. En este caso, este es el precio total redondeado al dólar.

Usted podría caer el argumento ppc y simplemente multiplicar horas por 40. Pero eso significaría que si, por ejemplo, su colega utiliza una tasa horaria diferente, que tendría que cambiar el valor en el cuerpo de la función con el fin de ser capaz de usarlo. Es una buena práctica de codificación a utilizar argumentos con valores por defecto para cualquier valor que puede cambiar. Si lo hace, realiza una función más flexible y utilizable.

Ahora imagine que tiene algunos grandes clientes que le dan un montón de trabajo. Para mantenerlos contentos, decide darles una reducción del 10 por ciento sobre el precio por hora para los pedidos que implican más de 100 horas de trabajo. Así que, si el número de horas trabajadas es mayor que 100, se calcula el nuevo precio multiplicando el precio por 0,9.

Usted puede escribir que casi literalmente en su código como este:

priceCalculator lt; - la función (hora, ppc = 40) {net.price lt; - hora * pphif (hora> 100) {net.price lt; - net.price * 0.9} redonda (net.price)}

Copie este código en un archivo de script, y enviarlo a la consola para que esté disponible para su uso. Si intenta salir de esta función, se puede ver que la reducción se da sólo cuando el número de horas es mayor que 100:

> PriceCalculator (horas = 55) [1] 2200> priceCalculator (hora = 110) [1] 3960

Esta construcción es la forma más general, se puede especificar un si comunicado. Pero si usted tiene sólo una línea corta de código en el bloque de código, usted no tiene que poner los apoyos a su alrededor. Puede cambiar la completa si declaración de la función con la siguiente línea:

si (hora> 100) net.price lt; - net.price * 0,9

La forma habitual de obtener ayuda en una función llamada, por ejemplo, fun.name (?fun.name) No funciona para si. Para acceder a la ayuda integrada para si, hay que citar el nombre de la función. Usted puede usar comillas simples, comillas dobles, o acentos abiertos. Cada una de las siguientes afirmaciones te lleva a la página de ayuda para si:

?"si"? "si"? `if`



» » » » Cómo utilizar si las declaraciones en r