prucommercialre.com


Cómo utilizar Si declaraciones en R

Si las declaraciones pueden ser muy útiles en I, como lo son en cualquier lenguaje de programación ,. A menudo, usted quiere hacer elecciones y tomar las medidas 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. . . . entonces R hace que sea aún más fácil: Usted puede dejar la palabra a continuación y especifique su elección en una sentencia if.

Una sentencia if 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 TRUE

Aquí está una pequeña función, priceCalculator (), que calcula el precio que 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. La función priceCalculator () podría ser algo como esto:

priceCalculator <- función (hora, ppc = 40) {
net.price <- hora * ppc
ronda (net.price)
}

Hereâ € s lo que hace este código:

  • Con la palabra clave de la función, se define la función.
  • Todo entre las llaves es el cuerpo de la función (ver Capítulo 8).
  • Entre paréntesis, se especifican las horas de argumentos (sin un valor predeterminado) y ppc (con un valor por defecto de $ 40 por hora).
  • Usted calcula el precio neto multiplicando 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 sólo multiplique 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. Ita € s buenas prácticas 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 de multiplicar el precio por 0,9.

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

priceCalculator <- función (hora, ppc = 40) {
net.price <- hora * ppc
if (hora> 100) {
net.price <- net.price * 0.9
}
ronda (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 (hora = 55)
[1] 2200
> priceCalculator (hora = 110)
[1] 3960

Esta construcción es la forma más general, se puede especificar una sentencia if. Pero si usted tiene sólo una corta línea de código en el bloque de código, que dona € t tiene que poner los frenos a su alrededor. Puede cambiar la completa instrucción if en la función con la siguiente línea:

si (hora> 100) net.price <- net.price * 0.9

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

? "Si"
? "Si"
`If`?