3) Funciones y Bucles en R

Descargar como pptx, pdf o txt
Descargar como pptx, pdf o txt
Está en la página 1de 37

Probabilidad y

Estadística
fundamental
aplicando RStudio
Funciones y bucles en R

María Fernanda Acero Baena


Estructuras de
programación
{comando1 ; comando2;
comando3 ; ....}
{comando1
comando2
comando3
....}
Bucle
• Un bucle o ciclo, en programación, es un
grupo de comandos que ejecuta repetidas
veces un trozo de código, hasta que la
condición asignada a dicho bucle deja de
cumplirse.
Iteración
• Es muy usado cuando se trabaja con datos
multivariados, cuando es necesario trabajar con
vectores y matrices y poder “recorrer” sus
elementos.
• Siempre de ser posible, evitar usar iteraciones,
estas son más lentas, cuando se quiere aplicar
una función a vectores o matrices existe la
función apply.
Iteración
Secuencias
seq(from = a, to = b, by =c)

Posición Posición Amplitud


inicial final
a:b

Posición Posición
inicial final
rep(x, times=5)

Vector a Las veces


repetir que se
repetirá
El bucle for
• Para crear un bucle repetitivo (un bucle for)
en el cual se puede indicar con
anterioridad el número mínimo de
interacciones, la sintaxis es la siguiente:
for (i in listadevalores)  { secuencia de
comandos }
El bucle for
• Si hay solo una instrucción, las llaves {}
pueden omitirse.
• El objeto listadevalores puede ser cualquier
objeto: un vector, una variable, una matriz,
etc. R recorre todos los elementos del
argumento reemplazando sucesivamente
la variable i por los elementos.
El bucle for
El bucle for
• Para escribir valores en medio de un bucle
es necesario usar la función print. Una
instrucción como

no escribe los resultados en la pantalla. Hay


que escribir

para imprimir el resultado dentro del bucle.


El bucle while
while ( condicion logica)  { expresiones
a ejecutar }
• El bucle while es un ciclo repetitivo basado en los
resultados de una expresión lógica
• El propósito es repetir un bloque de
código mientras una condición se mantenga
verdadera.
• Usualmente se usa cuando no se conoce el número
de ciclos que se desea realizar antes de comenzar.
El bucle while
• Si no se conoce el número de ciclos que se desea
realizar antes de comenzar, se usa while que
permite iterar hasta que cierto criterio se cumpla.
Como ejemplo, vamos a sumar los enteros
positivos hasta que la suma pase de 1000
El bucle repeat
repeat  { expresiones a ejecutar
(criterio de parada) break}

• Este comando repite un conjunto de instrucciones


hasta que se satisfaga un criterio de parada.
• En R se usa la palabra break para indicar el momento
de parar.
El bucle repeat
repeat  { expresiones a ejecutar
(criterio de parada) break}
Condicional: if

if (condicion) comando1 else


comando2
if (condicion) {
comando1
} else {
comando2
}
Condicional: if
La combinación de 'if' + 'else' sirve para establecer
tanto los comandos que deben ejecutarse al darse
una condición determinada, como aquellos que
deben ejecutarse al *no* darse dicha condición.

Si Comando 1
Se cumple la condición
No Comando 2
Condicional: if

%% : Es el resto de la división, es llamada la operación modulo.


Ejemplo: combinación
bucle e if
• Supongamos que mi objetivo es que se
clasifiquen los números del 1 al 10, bajo
el criterio: si es mayor que 5 es 'grande',
de lo contrario es 'chico'.
• Para eso se va a utilizar un 'for' con el
vector 1:10, la variable de iteración será
'i'. Para almacenar los resultados voy a
crear un vector vacío
Condicional: ifelse
La función ifelse evalúa una condición en todos los
elementos de un vector. En donde se cumple dicha
condición asigna un valor determinado, mientras que
en donde no se cumple asigna un valor alternativo.

ifelse(condición, valor1 , valor2)


Condicional: if

Si Comando 1
Condición 1
Si Comando 2
No Condición 2
No Comando 2
Condicional: ifelse
Vectorización
• Dada la facilidad de trabajar con vectores
en R, usualmente es posible reescribir
bucles en términos de operaciones con
vectores que resultan más breves y
legibles. Cumsum:
Función de
suma
acumulada
Función
• Una función es, simplemente, una
sucesión de instrucciones que se juntan
para formar una nueva instrucción, que
es el nombre de la función.
• Las funciones reciben argumentos y
devuelven valores.
• Todas las variables utilizadas en la
definición de la función son variables
internas y desaparecen una vez que la
función ha sido ejecutada.
Función
•  El uso de una función en R es similar al
uso matemático. En matemáticas
escribimos y en R

• Veamos un ejemplo. Vamos a definir una


función llamada cubo que toma un
número y lo eleva a la potencia tres:
Luego de declarar,
se usa igual a las
otras funciones de
R
Creación de funciones en R

nombre -> function(argumentos) {


instrucciones de la función
return(resultados)
}
Función: Ejemplos
• Esta función tiene la misma flexibilidad de las otras
funciones de R
Funciones: Varios
argumentos
• Una función puede tener más de un argumento (o
ninguno). La siguiente función divide el primer
argumento entre el segundo.
Funciones
nombre -> function(argumentos) {
instrucciones de la función
return(resultados)
}
• Las expresiones en cursiva deben reemplazarse por
expresiones y nombres válidos.
• Los argumentos son una lista de parámetros que
serán usados internamente por la función.
• Las instrucciones pueden ser cualesquiera
instrucciones válidas de R, que serán evaluadas a
medida que R las ejecuta, y los resultados pueden
ser datos o variables.
Funciones
• En lugar de usar return, es posible poner el nombre de una
variable como expresión final. R devuelve el resultado de la
última expresión en la función, pero usar return es una
manera más apropiada de devolver los resultados. Esto
asegura que el resultado de la función sea realmente el que
uno desea.
• Si no desea que la función escriba ningún resultado, use la
instrucción invisible. La expresión return(invisible(x))
devuelve el contenido de la variable x pero no lo escribe en
pantalla.
Ejercicio en clase
•1.  Escriba una función que transforme grados
Fahrenheit a Centígrados:

2. Crear una función que calcule el área de


un rectángulo, se tiene que la función
matemática para esto es:
Funciones
• Todas las variables declaradas dentro de una función
son locales y desaparecen luego de ejecutada la
función.
Parámetros y valores
por defecto
• Una función puede tener muchos
argumentos y en esos casos es cómodo no
tener que incluir todos los parámetros.
• Es conveniente agregar valores “por
defecto”. Esto es posible en R usando el
signo =.
• Si llamamos una función sin especificar
explícitamente el parámetro, se usará su
valor por defecto.
Argumentos
Hay dos maneras de asignar valores a los
argumentos de una función:
• Usando el nombre del parámetro
• Usando la posición del argumento en la
definición de la función
Argumentos
Hay dos maneras de asignar valores a los
argumentos de una función:
• Usando el nombre del parámetro
• Usando la posición del argumento en la
definición de la función
Funciones para
presentar resultados
Además de la función print, que escribe el valor de una
variable, R tiene la función cat que tiene mayor
versatilidad.
Funciones para
presentar resultados

También podría gustarte