Professional Documents
Culture Documents
ESTRUCTURAS DE CONTROL
1
Estructuras de Control en
2
Estructuras de Control en
• if / else:
permite decidir si ejecutar o no un fragmento de código en
función de una condición.
• for: ejecuta un bucle una cantidad fija de veces.
• while: ejecuta un bucle mientras sea verdadera una condición.
• repeat: ejecuta un bucle indefinidamente (la única forma de detener
esta estructura es mediante el comando break).
• switch: permite ejecutar un bloque de código distinto en función del
valor de una variable..
1-Funciones.
La creación de funciones es la principal utilidad de un lenguaje programado, aún en un
lenguaje orientado a la estadística como R.
Hasta ahora nos hemos ocupado de distintos tipos de objeto que podemos encontrar en
Matlab.
4
Estructuras de Control en
1-Funciones.
• Porqué debemos escribir nuestras propias funciones?
• Para realizar tareas específicas para nuestro propio trabajo.
• Para establecer valores predeterminados específicos para otras funciones.
• Evitar la repetición de grandes porciones de código.
5
Estructuras de Control en
6
Estructuras de Control en
7
Estructuras de Control en
8
Estructuras de Control en
9
Estructuras de Control en
10
Estructuras de Control en
11
Estructuras de Control en
12
Estructuras de Control en
13
Estructuras de Control en
14
Estructuras de Control en
15
Estructuras de Control en
Observemos que ahora la función no recibe argumentos, por lo que los paréntesis tras la
palabra function deben quedar en blanco, (). A continuación hemos utilizado dos nuevos comandos:
•El comando cat() que, de manera muy simple, nos permite presentar texto en la consola.
•El comando scan(), que permite leer valores desde el teclado y asignarlos, respectivamente, a las
variables base y altura.
Con este comando hemos utilizado además las opciones n=1, que indica que se va a leer un único valor,
y quiet=TRUE que indica a scan que, una vez leído ese valor, no informe por pantalla de cuántos valores ha
leído (ese sería su comportamiento por defecto y no nos interesa en este caso) 16
Estructuras de Control en
Estructuras de control.
IF-ELSE Es la más utilizada en R. Esta estructura de control permite actuar en función de una condición.
17
Estructuras de Control en
Estructuras de control.
SWITCH Permite ejecutar un bloque de código distinto, en función del valor de una variable.
18
Estructuras de Control en
Estructuras de control.
SWITCH Permite ejecutar un bloque de código distinto, en función del valor de una variable.
switch(2,"red","green","blue")
switch(1,"red","green","blue")
switch(5,"red","green","blue")
19
Estructuras de Control en
Estructuras de control.
SWITCH Permite ejecutar un bloque de código distinto, en función del valor de una variable.
switch(2,"red","green","blue")
switch(1,"red","green","blue")
switch(5,"red","green","blue")
Estructuras de control.
FOR El bucle más sencillo es el bucle for
for (i in 1:length(perros))
{
print( paste( "Mi perro se llamaba:", perros[i] ) )
}
21
Estructuras de Control en
Estructuras de control.
WHILE Los bucles WHILE comienzan comprobando una condición. Si esta es verdadera, entonces se
entra al cuerpo del bucle. Una vez completada una ejecución de este bloque, se comprueba la
condición nuevamente y así sucesivamente hasta que la comprobación de la condición de falso.
22
Estructuras de Control en
Estructuras de control.
WHILE Los bucles WHILE comienzan comprobando una condición. Si esta es verdadera, entonces se
entra al cuerpo del bucle. Una vez completada una ejecución de este bloque, se comprueba la
condición nuevamente y así sucesivamente hasta que la comprobación de la condición de falso.
23
Estructuras de Control en
Estructuras de control.
REPEAT La estructura REPEAT ejecuta un bucle infinitamente. En general no es utilizada para realizar
análisis, sino cuando se realiza programación. La única forma de terminar con el bucle es
llamando dentro de este a la función break.
24
Estructuras de Control en
Estructuras de control.
NEXT La función next es utilizada para terminar un ciclo del bucle en ejecución y pasar al siguiente.
Por ejemplo, si estamos dentro de un bucle FOR lo que sucedería al momento de ejecutar la
función next es que se salta directo al siguiente elemento sobre sobre el que se está iterando.
25
Estructuras de Control en
Estructuras de control.
BREAK la función break es usada para detener un bucle y salir de él inmediatamente.
26
Estructuras de Control en
FIN
Estructuras de control.
27
Estructuras de Control en
3-librería dplyr.
Es una librería de funciones para analizar y manipular datos: dividir grandes colecciones de
datos, aplicar una función a cada parte y re-agrupar las, y también aplicar filtros, ordenar y
juntar datos. Es una evolución del paquete plyr: es más rápido, capaz de trabajar sobre datos
remotos y solo trabaja sobre data.frames.
Como lo presenta su autor, Hadley Wickham, dplyr es la nueva iteración del paquete plyr,
enfocado a las data.frames, con 3 objetivos:
1. Identificar cual son las manipulaciones más importantes para analizar datos y hacerlas
fáciles con R.
2. Escribir las partes-llaves en C++ para manipular los datos en memoria muy rápidamente.
3. Usar las misma interfaces para trabajar donde estén los datos ya sea:
1. data frame,
2. data table o
3. database.
28
Estructuras de Control en
3-librería dplyr.
Objetivos de las clases:
29
Estructuras de Control en
3-librería dplyr.
30
Estructuras de Control en
3-librería dplyr.
31
Estructuras de Control en
32
Estructuras de Control en
3-librería dplyr.
33
Estructuras de Control en
3-librería dplyr.
34
Estructuras de Control en
35
Estructuras de Control en
36
Estructuras de Control en
37
Estructuras de Control en
38
Estructuras de Control en
39
Estructuras de Control en
40
Estructuras de Control en
41
Estructuras de Control en
42
Estructuras de Control en
43
Estructuras de Control en
44
Estructuras de Control en
45
Estructuras de Control en
46
Estructuras de Control en
47
Estructuras de Control en
48
Estructuras de Control en
49
Estructuras de Control en
50
Estructuras de Control en
51
Estructuras de Control en
52
Estructuras de Control en
53
Estructuras de Control en
54
Estructuras de Control en
55
Estructuras de Control en
56
Estructuras de Control en
57
Estructuras de Control en
58
Estructuras de Control en
59
Estructuras de Control en
60
Estructuras de Control en
61
Estructuras de Control en
62
Estructuras de Control en
63
Estructuras de Control en
64
Estructuras de Control en
65
Estructuras de Control en
66