7 Herramientas de programación
7.1 Condicional if
Los condicionantes (también llamadas lógicas u operadores Booleanos) son ==
igual,<
menor, >
mayor, !=
diferente, <=
menor o igual, >=
mayor o igual. Para evaluar más de una condición en un condicional if, usa &
(y) si ambas condiciones deben cumplirse y |
(o) si basta con que una condición se cumpla.
Por ejemplo, se va a crear un objeto w=3, en el condicional se va a identificar si ese objeto es igual a 5 o 6 y si cumple esta condición arroja un valor de 2 y si no cumple será 10. El código es el siguiente:
## [1] 10
7.2 Ciclo for
Con el fin de repetir varias veces una secuencia de iguales funciones, es más eficiente hacer un ciclo o loop. En R se para hacer loops se utiliza la función for, en él se especifica qué debe realizarse y cuántas veces. Para decirle cuántas veces, debes especificar el llamado ‘contador’. Por ejemplo:
## [1] 1 2 3 4 5 6 7 8
## NULL
## [1] NA 20 30 40 50 60 70 80 NA NA
En la tercera línea el ciclo empieza. En este caso, i es el contador y corre de 2 hasta 10. h tiene 8 elementos. Todo entre llaves ({}) (línea 7) se repite 9 veces. En la primera iteración i = 2, el segundo elemento de h se multiplica por 10 y coloca el resultado en la segunda posición del vector s. Luego viene la segunda iteración, i = 3, y así hasta la iteración 9 con i = 10. En las dos últimas iteraciones, los elementos 9 y 10 de h son demandados, sin embargo, estos no existen, por lo que en s pone NA o missing.
7.3 Escribiendo tus propias funciones
Las funciones que son construidas funcionan de la misma manera que las funciones pre-programadas del software. Un ejemplo es el siguiente:
fun1 <- function(arg1, arg2) # 1
{ # 2
w <- arg1^2 # 3
arg2 + w # 4
} # 5
fun1(arg1 = 1, arg2 = 5) # 6
## [1] 6
En el anterior código se crea la función fun1 la cual tiene dos argumento: arg1 y arg2. Esta función va de la línea 1 a 5. Esta función crea un objeto w que es igual al cuadrado del argumento 1, arg1. Luego en la línea 4 se calcula arg2 + w. En la línea 6 se llama la función donde el arumento 1 es igual a 1 y el argumento s es igual a 5, con lo cual w es igual a 1 y dado que arg2 es 5, al sumarse con w=1 el resultado de la función será 6.
Tarea 11: Escribe una función para la tarea 10, de tal manera que puedas llenar cualquier vector que desees (como argumento). Usa un ciclo for en la función para realizar el cálculo con cada elemento.
Tarea 10: Crea un vector de 1 a 100. Crea un ciclo for que recorra cada uno de los elementos del vector. Multiplica cada uno de los elementos que son menores que 5 y más grandes que 90, por 10, y los demás por 0.1.