Ciclo de clases en bioinformática: Principios de...

59
Principios de R lcollado Inicio Bienvenida Historia Din amica de clase Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una sesi on Imagen sencilla Im agenes avanzadas Ejercicios Sigue . . . Ciclo de clases en bioinform atica: Principios de R Leonardo Collado Torres [email protected] Licenciado en Ciencias Gen omicas www.lcg.unam.mx/~lcollado/ Instituto de Biotecnolog a (IBT) de la UNAM y Winter Genomics (WG) Octubre - Noviembre, 2009 1 / 59

Transcript of Ciclo de clases en bioinformática: Principios de...

Page 1: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Ciclo de clases en bioinformatica:Principios de R

Leonardo Collado [email protected]

Licenciado en Ciencias Genomicaswww.lcg.unam.mx/˜lcollado/

Instituto de Biotecnologıa (IBT) de la UNAM y Winter Genomics (WG)

Octubre - Noviembre, 2009

1 / 59

Page 2: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Introduccion a R

1 Bienvenida

2 Historia

3 Dinamica de clase

4 Sesion simple

5 Ayuda

6 Como calculadora

7 Condicionales

2 / 59

Page 3: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Introduccion a R8 Ciclos

9 Pausando una sesion

10 Imagen sencilla

11 Imagenes avanzadas

12 Ejercicios

13 Sigue . . .

3 / 59

Page 4: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Ciclo de clases en bioinformatica

El plan:

1 Principios de R con Leo

2 UNIX con Vero

3 Perl con Leti

4 Bases de datos con Vero

5 Java con Blanca1

Bienvenidos al reto!!!

1Por confirmar :)

4 / 59

Page 5: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Principios de R

Objetivos:

1 Aprender a usar R como calculadora

2 Leer datos en R

3 Hacer graficas usando R. . . adios Excel

4 Saber encontrar ayuda para R

5 Manejo basico de datos en R

6 Sentirse comodo con la sintaxis de R

7 Iniciar la familirizacion con la bioinformatica2

2Ciclos, condicionales, tipos de datos

5 / 59

Page 6: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Principios de R

No vamos a ver:

1 La parte estadıstica de R

2 Graficas avanzadas

3 Bioconductor

6 / 59

Page 7: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Raıces

� R es, de alguna forma, el hijo de S creado por Bell labs.En realidad es una implementacion de S, tal comoS-PLUS.

� Fue creado por Ross Ihaka y Robert Gentleman.

� Es un lenguaje interpretado y vive en el momento de lainterpretacion.

▶ ¿Eso que quiere decir?

7 / 59

Page 8: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Info sobre R

� Es util como un ambiente de programacion

1 Graficas2 Estadıstica (bueno para numeros)3 Herramientas para datos masivos biologicos (genomicos)

en Bioconductor

� Sigue un ciclo de 6 meses: siempre hay version estable y endesarrollo.

▶ ¿Cual es la version estable mas reciente?

� Es multi plataforma: Windows, Max y Linux/Unix.

� El sitio principal es el del Comprehensive R ArchiveNetwork mejor conocido como CRAN:http://cran.r-project.org

8 / 59

Page 9: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Instalacion de R

Para ahora ya todos lo deben haber instalado. . .

1 Entrar a CRAN

2 Dar click en R Binaries

3 Escogan su plataforma, por ejemplo Windows

4 En caso de tener la opcion, escogan base

5 Bajen el instalador y sigan sus instrucciones :)

9 / 59

Page 10: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

En general

La idea es que ustedes:

� Bajen la presentacion y el archivo .R asociado a su compu

� Sigan la presentacion3

� Para los codigos, copien y peguenlos en vez de escribirlos.4

Esto con el fin de hacer la clase mas dinamica. En general hagopreguntas para checar que no los haya perdido en el camino. . .Tambien pregunten si tienen dudas!!!

3Las hago de tal forma que en un futuro pueden servirles de referencia.

4Toma menos tiempo y es mejor que entiendan el codigo a que se la pasen escribiendo todo la clase.

10 / 59

Page 11: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

dotProject

� Voy a usar el dotProject para subir las presentaciones yarchivos .R

� En cada clase les voy a dar ejercicios5. Compartan suspreguntas vıa el foro del curso (en dotProject). Otros talvez tienen la misma pregunta.

� Les voy a responder solo vıa el foro :)6

� Una semana despues de la clase, voy a subir un archivocon las respuestas esperadas. Revısenlos!

� Al final, si quieren aprender a usar R tienen que practicar,y practicar, y practicar, y prac. . .

5TAREA!! jeje :)

6Es para aprendar a usar el foro y compartir allı las preguntas/respuestas.

11 / 59

Page 12: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Abrir R

Para abrir R hay varias opciones dependiendo de suplataforma7:

� En Windows, den doble click en el ıcono de R. O si quierenalgo mas rudo escriban R en la consola de comandos.

� En Mac, ya sea que le den doble click al ıcono o queescriban R en una ventana de terminal.

� En Linux/Unix, escriban R en la terminal.

¿Ya lo abrieron?. . .Una opcion avanzada es usar el GNU Emacs o el XEmacs.Tendran que instalar el ESS.

7O si tienen alguna variable de ambiente especial. . .

12 / 59

Page 13: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Mensaje inicial

Al abrir R sale un mensaje con informacion.

� ¿Que version de R tienes instalada?

� ¿Como citarıas a R?

� ¿Como ves la lista de contribuidores?

� Hay una mencion especial para alguien, ¿quien es y porque?

13 / 59

Page 14: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Para salir de R

� Si ahora quieren salirse, tienen que usar la funcion q dequit. Ya sea que la usen sin ningun argumento:

> q()

� O especificando que no quieren guardar nada:

> q("no")

14 / 59

Page 15: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

La funcion basica

Hay muchas formas, incluyendo Google!

� La funcion basica es help:

> help("LoQueBuscas")

� Se puede abreviar ası:

> `?`(LoQueBuscas)

� Busquen la ayuda de q. ¿q es un alias de que funcion?

� ¿Que pasa si escriben lo siguiente?

> Help("quit")

15 / 59

Page 16: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

En el navegador

� Les recomiendo que usen help.start para que las paginasde ayuda es abran en su navegador

> help.start()

> `?`(q)

16 / 59

Page 17: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Buscando funciones

� help es para cuando conocen el nombre exacto de lafuncion. Si intuyen el nombre de la funcion, podemosbuscar funciones usando apropos:

> apropos("quit")

[1] "quit"

� ¿Cuantas funciones salen si buscan save con apropos?

17 / 59

Page 18: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Argumentos

� Si ya conocen la funcion pero quieren recordar losargumentos de esta, usen args:> args(apropos)

function (what, where = FALSE, ignore.case = TRUE, mode = "any")

NULL

� Noten que muestra los valores default de los argumentos.

18 / 59

Page 19: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

En la red

� Otra opcion para encontrar ayuda es vıa el sitio de R

usando RSiteSearch

> RSiteSearch("help")

� Es un poco mas tedioso, pero busca en una lista de emailsde ayuda.

19 / 59

Page 20: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

En la lista de mails

� Otra opcion es que entren directamente (se suscriban) a lalista de mails de ayuda:https://stat.ethz.ch/mailman/listinfo/r-help

� En general les van a pedir informacion sobre su sesion.

� ¿Que funcion usarıan?

> apropos("session")

[1] "sessionData"

[2] "sessionInfo"

[3] "setSessionTimeLimit"

20 / 59

Page 21: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Calculos :)

R es muy util como calculadora, aunque no es de botones.

� Una suma simple:

> 2 + 3

[1] 5

� Si se fijan, imprime un uno entre corchetes. Es la lınea 1de la salida.

� ¿Como harıan 2 por 3?

� Division:

> 2/3

[1] 0.6666667

� Noten que redondea al 7mo dıgito. Si lo requieren, sepuede cambiar :)

21 / 59

Page 22: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Calculos II

� Exponentes:

> 2ˆ3

[1] 8

� Logaritmo:

> log(3, base = 2)

[1] 1.584963

� Raız cuadrada:

> sqrt(2)

[1] 1.414214

� Pi:

> pi

[1] 3.141593

� Encuentren el area de un cırculo de radio 84.5901 cm22 / 59

Page 23: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Calculos III

� El area es de 22479.62 cm2. ¿Tuvieron que usarparentesis?

� ¿Por que la siguiente expresion nos da 10?

> 1e+06/1e+05

[1] 10

23 / 59

Page 24: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Abundan!

� En la computacion - informatica - bioinformatica, se usanmucho los condicionales.

� Por ejemplo: ¿es 3 mayor a 2?

� ¿Alguna idea de como hacer esto en R?

24 / 59

Page 25: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Solucion rapida

� Es como si lo escribieran en su cuaderno:

> 3 > 2

[1] TRUE

� R te va a decir si es falso o verdadero :)

� Expliquenme porque sale TRUE en la siguiente expresion:

> 3 > 2 & 3 < 4

[1] TRUE

25 / 59

Page 26: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Asignar valores

� En cualquier lenguaje generalmente guardamos valores enun objeto8.

� Asignemos un 2 a x , y luego usemos x :

> x <- 2

> x > 2

[1] FALSE

> x <= 2 & xˆ2 < 5

[1] TRUE

8O variable, en R son objetos

26 / 59

Page 27: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

if y else

� En R usamos el condicional if para controlar el flujo:

> if (x < 3) {

+ print("hola")

+ }

[1] "hola"

� Muchas veces tenemos dos opciones por lo que usamos elelse:

> if (x < 2) {

+ print("hola")

+ } else {

+ print("boo")

+ }

[1] "boo"

27 / 59

Page 28: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

if y else

� Para 3 o mas opciones hay que usar varios if y else:

> if (x < 2) {

+ print("hola")

+ } else if (x < 1) {

+ print("boo")

+ } else {

+ print("loteria")

+ }

[1] "loteria"

28 / 59

Page 29: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Un ejercicio de logica

� ¿Cual es el resultado de este codigo?

> x <- 1.2

> if (x > 2) {

+ print("opcion1")

+ } else if (x < 0) {

+ print("opcion2")

+ } else if (xˆ2 < 3) {

+ print("opcion3")

+ } else {

+ print("no se")

+ }

29 / 59

Page 30: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

ifelse

� Una opcion sencilla para 2 opciones, y similar a Excel, esla funcion ifelse:

> x <- 5

> ifelse(x/5 == 1, "Verdadero", "Falso")

[1] "Verdadero"

30 / 59

Page 31: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Para repetir

� Muchas veces hay que repetir un calculo, o una funcionpara un rango de valores.

� Para hacerlo, necesitamos un ciclo, que es otra forma decontrol de flujo.

� En R hay varias opciones: for, while, repeat, apply

31 / 59

Page 32: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Secuencias

� Pero antes veamos como crear una secuencia de numeros.

� Podemos concatenar dos o mas numeros:

> c(2, 3)

[1] 2 3

> c(2, 7, 3)

[1] 2 7 3

� Si tenemos numeros seguidos, podemos aprovechar unatajo:

> 1:4

[1] 1 2 3 4

> 6:3

[1] 6 5 4 3

32 / 59

Page 33: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Secuencias

> c(1:3, 8, 0:-3)

[1] 1 2 3 8 0 -1 -2 -3

� Estamos creando un vector atomico de tipo entero.

33 / 59

Page 34: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Funciones relacionadas

� Otras veces queremos hacer secuencias. Por ejemplo, 10,20, 30, . . . , hasta 100. Para eso usamos seq:

> seq(10, 100, by = 10)

[1] 10 20 30 40 50 60 70 80 90

[10] 100

� O luego queremos repetir un numero varias veces, y paraahorrar tiempo usamos rep:

> rep(2, 3)

[1] 2 2 2

� Creen un vector con los siguientes numeros: 1 al 3, 8, 0 amenos 2, repitan 4 veces el 5, y terminen con los la tabladel 5 hasta 10.

34 / 59

Page 35: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Solucion

� ¿Sencillo?

> c(1:3, 8, 0:-2, rep(5, 4), seq(0,

+ 50, by = 5))

[1] 1 2 3 8 0 -1 -2 5 5 5 5 0

[13] 5 10 15 20 25 30 35 40 45 50

35 / 59

Page 36: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

El ciclo for

� Probablemente es el tipo de ciclo mas usado.

� La idea es hacer algo para cada elemento de unasecuencia, como un for each.

� Un ejemplo :) Para cada numero entre 1 y 10, si su raızcuadrada es mayor a 2.5 imprimimos sip, de lo contrarioimprimimos un nop.

> for (i in 1:10) {

+ if (sqrt(i) > 2.5) {

+ print("sip")

+ }

+ else {

+ print("nop")

+ }

+ }

36 / 59

Page 37: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

El ciclo for

[1] "nop"

[1] "nop"

[1] "nop"

[1] "nop"

[1] "nop"

[1] "nop"

[1] "sip"

[1] "sip"

[1] "sip"

[1] "sip"

37 / 59

Page 38: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Guardando

� Generalmente queremos guardar los resultados de nuestrociclo en un objeto. La forma sencilla es usar laconcatenacion, pero para hacerlo debemos inicializar elobjeto.

� Usemos un for para encontrar los cuadrados de 1 hasta10.

> res <- NULL

> for (i in 1:10) {

+ res <- c(res, iˆ2)

+ }

> res

[1] 1 4 9 16 25 36 49 64 81

[10] 100

38 / 59

Page 39: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Guardando

� Ahora pueden hacer el siguiente ejercicio: Usando solosumas y ciclos for, multipliquen por 10 los numerosenteros entre 1 y 10.

� Van a necesitar dos ciclos for y dos objetos dondeguarden el resultado. Uno de los objetos lo van a inicializarcomo nulo y otro como 0.

39 / 59

Page 40: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Solucion

� Cada objeto (res y temp en mi caso) lo vamos a usar paraguardar el resultado de un ciclo for.

> res <- NULL

> for (i in 1:10) {

+ temp <- 0

+ for (j in 1:10) {

+ temp <- temp + i

+ }

+ res <- c(res, temp)

+ }

> res

[1] 10 20 30 40 50 60 70 80 90

[10] 100

40 / 59

Page 41: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Guardando su sesion

� Muchas veces necesitan parar de trabajar, apagar sucompu, y seguir despues.

� Las funciones save.image y load son muy utiles para esto :)

> save.image(file = "archivo.Rdata")

> load(file = "archivo.Rdata")

41 / 59

Page 42: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Guardando objetos

� Otras veces solo quieren guardar un objeto. Para esousaremos save:

> save(objeto, file = "archivo.Rda")

� O varios objetos:

> save(objeto1, objeto2, file = "archivo.Rda")

� Luego, cuando sigan trabajando lo(s) leen con:

> load(file = "archivo.Rda")

42 / 59

Page 43: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Historia

� Si quieren guardar la historia de los comandos que usarones con savehistory:

> savehistory(file = "archivo.Rhistory")

� Y luego la cargan con loadhistory:

> loadhistory(file = "archivo.Rhistory")

43 / 59

Page 44: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Una grafica

Entrando a la parte final . . .

� Vamos a hacer una grafica sencilla.

� Vamos a graficar en el eje X los numeros del 1 al 10, y enel eje Y sus cuadrados.

44 / 59

Page 45: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Creemos los objetos

� Primero creemos un objeto x y otro y con estos valores:

> x <- 1:10

> y <- xˆ2

� Me estoy ahorrando un for al encontrar el cuadradodirectamente. Es parte de la regla de reciclaje de R :)

45 / 59

Page 46: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

La grafica

Luego es solo cosa de usar la funcion plot

> plot(x, y)

●●

2 4 6 8 10

020

4060

8010

0

x

y

46 / 59

Page 47: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Para picarlos :)

� Las siguientes graficas son ejemplos de lo que puede llegara hacer con R

47 / 59

Page 48: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Un scatterplot de los datos Iris

4.5 5.5 6.5 7.5

4.5

5.5

6.5

7.5

SL

2.0 3.0 4.0

●●

●●

●●

● ●●

●●

●●

● ●●●

●●

●●

●●

●●

● ●

● ●●

●●

●●

●● ●

●●

●●

●●

●●

●● ●

●●

●●●●

●●●

●●

● ●●

●●

●●

● ●

●●

●●

● ●●

●●

●●●

●●

●●●

●●●

●●

●●

1 2 3 4 5 6 7

●●●●

●●

●●●●

●●

●●

●●●●

●●

●●●

●●

●●

●●

●●●●

●●

●●

●● ●

●●

●●

●●

●●●

●●

●●

●●●

●● ●

●●

●●●

●●

●●

●●

●●

●●

●●●

●●

●●●

●●

●●

●●●

●●●

0.5 1.5 2.5

4.5

5.5

6.5

7.5

●●●●

●●

● ●●

●●

●●● ●●●

●●

●●

●●

●●

●●

●●●

●●

●●

●● ●

●●

●●

●●

●●

●● ●

●●

●●●

●●●

●●

●●●

●●

●●

● ●

●●

●●

●●●

●●

●●●

●●

●●

● ●●

●●

●●

SW ●

●●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●●●

●●

●●

●●●●

●●●

●●

●●●

● ●

●●

●●●

●●● ●

●●

● ●●

●●

●●

●●

●●●

●●

●●●

●●

2.0

3.0

4.0

●●●

●●

●●

●●

●●

●●

●●

●●●●●

●●

●●

●●

●●

●●●

●●

●●

●●●

●●

●●

●●

●●●

● ●

●●

●●●

●●

●●

●●

●●●

●●

●●

●●

●●●

●●

● ●●

●●

PL

12

34

56

7

●●●●●●

●●●●●●●●●

●●●●●● ●

●●● ●●●●● ●●●●●●●●●●●●

●●

●●●●●

●●●

●● ●

●●

●●

●●●

●●●●

● ●●

●●● ●

●●●●●●

● ●

●●●●

●● ●

●●

●● ●● ●●●

●●

●●

●●

●●●

●●

●●

●●

● ●●●

● ●●●● ●

0.5 1.5 2.5

0.5

1.5

2.5

PW

Datos Iris de Anderson −− 3 especies

48 / 59

Page 49: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Una matriz de datos gigante

49 / 59

Page 50: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Una grafica con lattice

d$phage_gc_content

Den

sity

0.00

0.05

0.10

0.15

20 40 60 80

●●●● ●● ●●

●●●● ●●●● ● ● ●● ● ●●●●●●

●● ●●● ●● ●● ●● ●●●●●

●●●●● ●●●● ●●

●● ●●● ●●●● ●● ● ●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●● ●

●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●● ●

●●

●●

● ●● ●●● ●● ● ●●● ●● ●●● ● ●● ●

circular

20 40 60 80

●● ●●●

●● ●●●● ●● ●●●● ●●●● ●●●● ●●

●● ●●

●●● ● ●●●●● ●

●●● ●●● ●●●

●●●●●● ● ●●

●●● ●●

●●●● ● ●●●● ● ● ●●●● ●

●●●●●●●● ●

●● ● ●●● ● ●●●●●

● ●●●●

●●●●● ●●● ●●● ●●●●●●●●

● ●● ● ●●

●●●●●

●● ● ●● ● ●● ●●●● ●●● ●●●●●

●●●● ●● ● ●

●● ● ●●● ●

●●● ●●●●●●●●●● ●●●●●●● ●●●●●●●●●●●●●●

●●● ●● ●●

●●● ●

●● ●● ●●●●● ● ●●● ●● ●● ●●

●●●●●

●●● ●● ● ●●●●●

●●● ● ●●●

●●●● ●●●

● ●●● ●●● ● ●●

●●● ●●

●● ●● ●

●● ●●● ●● ●

linear

50 / 59

Page 51: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Otra grafica con lattice

N50

Den

sity

0e+00

1e−05

2e−05

3e−05

4e−05

5e−05

0 500000 1000000

●●

●● ●●●

●●●● ●

●●●

●●●●

●●●● ●●●

●●●●● ●

●●● ●●●●

●●

●●●●●

●●●●●●●●●●●●●

●●●●●

●●●

●●

●●●

● ●●●

cov

0 500000 1000000

●●●● ● ●●

● ●●

●●● ●

●● ●●●● ●●●●

●●

●●

●●●

● ●●●

● ●●

●●●●●

●●●●●●●●●●

●●●●●

●●●●●●●●●●●●●●●●●

cov

0 500000 1000000

●●●

●●

●●● ●●

●●●● ●

●●● ●●●

● ●

●●● ●●●● ●●

●●● ●●●

●●●

●●●●●●●●●●●

●●●● ●

●●●●

●●●●

●●●●●●●●●●●

cov

paired36paired72single36single72

51 / 59

Page 52: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Barras con lattice

Mean N50

0e+00 2e+05 4e+05 6e+05

cov cov

0e+00 2e+05 4e+05 6e+05

cov cov

0e+00 2e+05 4e+05 6e+05

cov

cov

0e+00 2e+05 4e+05 6e+05

cov cov

0e+00 2e+05 4e+05 6e+05

cov cov

paired36paired72single36single72

52 / 59

Page 53: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Una grafica con plotrix

●●

●●●●●●●

●●

●●

●●

●●

●●

●●●●●●●●

●●

●●●●●●●

0e+00 2e+05 4e+05 6e+05 8e+05

0.0

0.2

0.4

0.6

0.8

1.0

Exploring var: combo

N50

c.ge

n

●●

●●

●●●

●●

●●

●●

●●

●●●●

●●

● ●●

●●

●●

combo

paired36 paired72 single36 single72

53 / 59

Page 54: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Una grafica con GenomeGraphs

Con

serv

atio

nLe

eD

avid

−D

avid

+N

agal

aksh

mi

+−

●●

●●●●●●●●

●●●●

●●●●●●●●●

●●●●●●●●●●●●●●●

●●●●●●●●●●●●

●●

●●●

●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●

●●●●●●●●●●●●●●●0

0.20.40.60.8

1

●●●●●●●●

●●●●●●●●●●●●●

●●●●●●●●●●●●

●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●

●●●●●●●●●●

●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●

●●●●●●●

●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●

−3−2−1

0

●●

●●●

●●●●●●●

●●

●●

●●

●●

●●●●

●●●●●

●●

●●●

●●●●

●●●

●●

●●●

●●●●●●●●●●●●●●

●●

●●

●●

●●

●●●●●●● ●●●●●●●●

●●●

●●●●

●●●●●●●●

●●

−10123

●●

●●●●

●●●●●

●●●

●●●●

●●●●●●●●●●●●●●●●

●●●●

●●●●●●

●●●●●

●●●●

●●●

●●●●●●●●

●●●

●●●●●●●● ●●

●●●

●● ●●●

●●●●●

●●●●

●●●●

●●●

●●●●●

●●●

−1135

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●

●●

●●●●●●●●

●●●●●

●●●●●

●●●●

●●●●●●●●●●●●●

●●●●●●●●●

●●●●●●●●●●●●●●●●

●●●●●●●●●●

●●●●

●●●●●●●

●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●●●●

●●

●●●●●●●●●

●●●●●●●●●

●●●●●●●

●●●

●●●

●●●●

●●

●●●●●●●●●●●●

●●●●●●●●●

●●●●●●●●●●●

●●●●●●●

●●

●●●●

●●●

●●●●●●●●●●●●●●●●●●●

●●●

●●●

●●●●●●●●●●●

●●

●●●

●●●●●●●

●●●●●●●●●●●●●●●●

●●●●●●●●●

●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

●●●●●●●●●●●●●

●●●●

●●

●●●●

●●●●●●●●●●

●●●

●●●●●●

●●●●

●●

●●

●●●●●●●●

●●●●●

●●●●●●●●●●●●●●●●●●

●●●●●●

●●●●●●●●●●●●

●●●●●

●●

●●

●●●●

●●●●●●●●

●●●

●●●●●●●●

●●●●●●●●

●●●●●●●●

●●●●●●●

●●

●●●

●●

●●

●●●●●●

●●●●●●●●●●●●●●● ●●●● ● ●●●●●●● ●●●● ●● ●● ●●●●●● ●●● ●●050

100150200250300

YDR418W

13021302

13021302

13021302

13021302

13021302

1302

YDR417C

lcollado

54 / 59

Page 55: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Ejercicios I

Usen los numeros 2, 5, 4, 10 y 8 para:

� Almacenarlos en un vector de datos x

� Encuentren el cuadrado de cada numero.

� Substraigan 3 de cada numero.

� Substraigan 5 de cada numero y luego encuentren su raız.

55 / 59

Page 56: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Ejercicios II

Encuentren:

� Las fracciones de 1/1 hasta 1/10 usando enteros. Usen losdos puntos :)

� Los anos pares desde 1964 hasta 2008.

� Los multiplos de 25 desde 1000 hasta 0 en ese orden.

56 / 59

Page 57: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Ejercicios III

Conocemos el tamano de los genomas de 10 bacterıofagos. Sustamanos en mbs son: 233.2 180.5 280.3 244.8 252.4

178.2 211.2 196.2 176.8 185.7 Almacenen estainformacion en un vector y encuentren:

� La suma total de los genomas usando un ciclo for.

� Repitan el paso anterior usando la funcion sum.

� El tamano promedio de los 10 genomas.

� Repitan el paso anterior usando la funcion mean.

57 / 59

Page 58: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

Pronto veremos

� Mas sobre los tipos de objetos en R

� Aprenderemos a leer datos de tablas en R

� Veremos mas graficas basicas

58 / 59

Page 59: Ciclo de clases en bioinformática: Principios de Rlcolladotor.github.io/courses/Courses/M/lectures/... · Sesi on simple Ayuda Como calculadora Condicionales Ciclos Pausando una

Principios deR

lcollado

Inicio

Bienvenida

Historia

Dinamica declase

Sesion simple

Ayuda

Comocalculadora

Condicionales

Ciclos

Pausando unasesion

Imagensencilla

Imagenesavanzadas

Ejercicios

Sigue . . .

sessionInfo

Informacion de mi sesion:> sessionInfo()

R version 2.10.0 Under development (unstable) (2009-07-21 r48968)

i386-pc-mingw32

locale:

[1] LC_COLLATE=English_United States.1252

[2] LC_CTYPE=English_United States.1252

[3] LC_MONETARY=English_United States.1252

[4] LC_NUMERIC=C

[5] LC_TIME=English_United States.1252

attached base packages:

[1] stats graphics grDevices

[4] utils datasets methods

[7] base

59 / 59