Anda di halaman 1dari 66

Estructuras de Control en

ESTRUCTURAS DE CONTROL

1
Estructuras de Control en

Las estructuras de control nos permiten controlar el flujo de la ejecución de


una secuencia de comandos.

De este modo, podemos poner “lógica” en el código de R y lograr así,


reutilizar fragmentos de código una y otra vez.

Ayudan a mantener el código “más ordenado” y legible.

Son herramientas que nos ayudan a ser productivos en la programación.

2
Estructuras de Control en

Las estructuras de control más utilizadas son:

• 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..

• break: detiene la ejecución de un bucle.


• next: salta a la siguiente ejecución de un bucle. 3
Estructuras de Control en

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.

En este momento nos dedicaremos en R a la comprensión de la estructura y


funcionamiento de las funciones, así como a la creación y corrección de las mismas.

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.

• Son una abstracción.

• Podemos separar lo que queremos hacer, de cómo lo hacemos.

• Hacen el código mas entendible y manejable.

• Las funciones ayudan a evitar errores de codificación.

5
Estructuras de Control en

Estructura de una Función.

6
Estructuras de Control en

Estructura de una Función.

7
Estructuras de Control en

Estructura de una Función.

8
Estructuras de Control en

Estructura de una Función.

9
Estructuras de Control en

Estructura de una Función.

10
Estructuras de Control en

Estructura de una Función.

11
Estructuras de Control en

Estructura de una Función.

12
Estructuras de Control en

Estructura de una Función.

13
Estructuras de Control en

Ejercicios sobre funciones.

1. Realizar 6 funciones con los ejercicios entregados y asignados. (pag 1 a 5)

2. Realizar 1 función del ejercicio asignado. (pag 6 a 8)

14
Estructuras de Control en

Un programa con entrada/salida más elaborada.


En ocasiones es necesario escribir programas que soliciten explícitamente al
usuario la introducción de algunos valores.

Supongamos, por ejemplo, que en nuestro programa para el cálculo de la


superficie del rectángulo no queremos llamar a la función con unos valores
concretos de base y altura, sino que nos interesa que sea la propia función
la que los pida al usuario.

Podemos conseguir este objetivo definiendo la función de la forma siguiente:

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")

switch("color", "color" = "red", "shape" = "square", "length" = 5)


switch(“length", "color" = "red", "shape" = "square", "length" = 5)
20
Estructuras de Control en

Estructuras de control.
FOR El bucle más sencillo es el bucle for

for (variable in secuencia)


{
Acciones...
}

perros <- c("cucho", "bobi", "morti", "sultan", "fido", "yonofui")

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:

1. Entender los conceptos básicos de dplyr


2. Aprender su gramática
3. Saber con que objetos puede trabajar

Trabajaremos sobre los siguientes datos:


• Msleep
• mpago

29
Estructuras de Control en

3-librería dplyr.

30
Estructuras de Control en

3-librería dplyr.

31
Estructuras de Control en

3-librería dplyr. Seleccionando columnas usando select()

32
Estructuras de Control en

3-librería dplyr.

starts_with() = Select columns that start with a character string


ends_with() = Select columns that end with a character string
contains() = Select columns that contain a character string
matches() = Select columns that match a regular expression
one_of() = Select columns names that are from a group of names

33
Estructuras de Control en

3-librería dplyr.

34
Estructuras de Control en

4-Varios de Estadística Descriptiva

35
Estructuras de Control en

4-Varios de Estadística Descriptiva

36
Estructuras de Control en

4-Varios de Estadística Descriptiva

37
Estructuras de Control en

4-Varios de Estadística Descriptiva

38
Estructuras de Control en

4-Varios de Estadística Descriptiva

39
Estructuras de Control en

4-Varios de Estadística Descriptiva

40
Estructuras de Control en

4-Varios de Estadística Descriptiva

41
Estructuras de Control en

4-Varios de Estadística Descriptiva

42
Estructuras de Control en

4-Varios de Estadística Descriptiva

43
Estructuras de Control en

4-Varios de Estadística Descriptiva

44
Estructuras de Control en

4-Varios de Estadística Descriptiva

45
Estructuras de Control en

4-Varios de Estadística Descriptiva

46
Estructuras de Control en

4-Varios de Estadística Descriptiva

47
Estructuras de Control en

4-Varios de Estadística Descriptiva

48
Estructuras de Control en

4-Varios de Estadística Descriptiva

49
Estructuras de Control en

4-Varios de Estadística Descriptiva

50
Estructuras de Control en

4-Varios de Estadística Descriptiva

51
Estructuras de Control en

4-Varios de Estadística Descriptiva

52
Estructuras de Control en

4-Varios de Estadística Descriptiva

53
Estructuras de Control en

4-Varios de Estadística Descriptiva

54
Estructuras de Control en

4-Varios de Estadística Descriptiva

55
Estructuras de Control en

4-Varios de Estadística Descriptiva

56
Estructuras de Control en

4-Varios de Estadística Descriptiva

57
Estructuras de Control en

4-Varios de Estadística Descriptiva

58
Estructuras de Control en

4-Varios de Estadística Descriptiva

59
Estructuras de Control en

4-Varios de Estadística Descriptiva

60
Estructuras de Control en

4-Varios de Estadística Descriptiva

61
Estructuras de Control en

4-Varios de Estadística Descriptiva

62
Estructuras de Control en

4-Varios de Estadística Descriptiva

63
Estructuras de Control en

4-Varios de Estadística Descriptiva

64
Estructuras de Control en

4-Varios de Estadística Descriptiva

65
Estructuras de Control en

66

Anda mungkin juga menyukai