uso del programaestad´ıstico rfobos.inf.um.es/palazon/presentaciones/r2002.pdffull screen cerrar...

48
agina www agina de Abertura Contenido agina 1 de 48 Regresar Full Screen Cerrar Abandonar Uso del programa estad´ ıstico R “Una introducci´ on para principiantes” Jos´ e Antonio Palaz´ on Ferrando [email protected] Francisco Alonso Sarr´ ıa [email protected] INUAMA Universidad de Murcia. Murcia, 16 de julio, 2002

Upload: others

Post on 01-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 1 de 48

Regresar

Full Screen

Cerrar

Abandonar

Uso del programa estadıstico R“Una introduccion para principiantes”

Jose Antonio Palazon Ferrando [email protected]

Francisco Alonso Sarrıa [email protected]

INUAMAUniversidad de Murcia.

Murcia, 16 de julio, 2002

Page 2: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 2 de 48

Regresar

Full Screen

Cerrar

Abandonar

R: Una introduccion para principiantes.

A modo de introduccion: La palabra y el icono.

Conceptos elementales de R: operaciones, objetos y funciones.

Entrada de datos y exportacion de resultados.

Funciones de usuario: R al maximo rendimiento.

Documentacion e informacion adicional.

Page 3: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 3 de 48

Regresar

Full Screen

Cerrar

Abandonar

Notaciones, lenguajes y sintaxis

¡Sumemos todos los datos!

Para xi =dato i–esimo; suma =

n∑i=1

xi

x<-c(3.4, 4.6, ..., 9.1, 2.8)suma<-sum(x)

Page 4: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 4 de 48

Regresar

Full Screen

Cerrar

Abandonar

¿Que objetivos tenemos?

Conocer la sintaxis basica de R.

Aprender a trabajar con R de forma eficiente: individual y colec-tivamente.

Analizar las ventajas del uso de R.

Aprender las tecnicas de automatizacion de tareas con R.

Aprender a utilizar R para seguir aprendiendo.

Page 5: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 5 de 48

Regresar

Full Screen

Cerrar

Abandonar

Analisis de datos: una perspectiva personal

Objetivos: Docencia e Investigacion.

Programas: BMDP, SPAD, Cornell Ecology Programs, Statgraphics,Systat, Statistix, MVEP, etc.

Lenguajes y ficheros: BASIC (8000, gw, true), FORTRAN, Pascal, awk,etc.

Otras herramientas: hojas de calculo, bases de datos, SIG, etc.

Page 6: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 6 de 48

Regresar

Full Screen

Cerrar

Abandonar

Primeros pasos: representacion grafica de datos

> plot(1:10, 10:1, pch=1:10, cex=1:10, col=1:10)

> hc <- hclust(eurodist)

> plot(hc,hang=-1)

Page 7: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 7 de 48

Regresar

Full Screen

Cerrar

Abandonar

Concretando: ¿que es R?

R es un entorno integrado para trabajar con el lenguaje S, que pro-porciona:

Un conjunto coherente y extensivo de instrumentos para elanalisis y el tratamiento estadıstico de datos.

Un lenguaje para expresar modelos estadısticos y un instrumen-to para manejar modelos lineales y no lineales.

Un conjunto de utilidades graficas para el analisis de datos y lavisualizacion en cualquier estacion grafica o impresora

Un eficiente lenguaje de programacion orientada a objetos, quecrece facilmente merced a la comunidad de usuarios.

Page 8: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 8 de 48

Regresar

Full Screen

Cerrar

Abandonar

¿Que puedo hacer con R?

En la distribucion base se incluyen herramientas para:

Descripcion, tabulacion y representacion grafica de datos.

Inferencia estadıstica. Regresion y analisis de la varianza. Mode-los lineales generalizados.

Tecnicas multivariantes: ordenacion y clasificacion.

Series temporales. Analisis de supervivencia.

Calculo matricial. Resolucion de sistemas de ecuaciones lineales.Calculo numerico. Interpolacion.

Pueden encontrarse bibliotecas para:

Krigeado, interpolacion espacial, estadıstica bayesiana, tecnicasde bootstrap, analisis discriminante, . . .

Page 9: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 9 de 48

Regresar

Full Screen

Cerrar

Abandonar

Una sesion de trabajo

R puede utilizarse para distintas plataformas:Linux, Mac, WinX, ...: hay algunas diferencias.

Para iniciar R basta con seleccionarlo en el menu de trabajo:

Para terminar una sesion de R, adecuadamente, debe utilizarsela funcion q(), que obliga a determinar si: queremos abandonarlos datos y el historico de ordenes, lo deseamos grabar o cance-lamos el abandono.

Page 10: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 10 de 48

Regresar

Full Screen

Cerrar

Abandonar

Primeros pasos

Es muy importante tener en cuenta los siguiente aspectos para com-prender el funcionamiento de R:

R dialoga utilizando expresiones (que se escriben despues delprompt).

>3 el prompt es el signo “mayor que”, la expresion 3

[1] 3 el valor entre corchetes indica que el siguiente esel primer valor que se produce tras evaluar la ex-presion, ¡3 es obviamente el resultado!

Page 11: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 11 de 48

Regresar

Full Screen

Cerrar

Abandonar

Primeros pasos (II)

R realiza una evaluacion sistematica de una expresion, algunasson verdaderamente complejas, y devuelve el resultado o efectualas operaciones indicadas en la expresion.

>3*2+1 El asterisco indica producto ¿podemosprever el resultado?

>sqrt(3*3) “sqrt” es la abreviatura de square root:¿cabe imaginar el resultado?

>plot(3) El primer grafico: ¿que significa?

>a <- 3 Hemos asignado el valor 3 al objeto a¿como podemos comprobarlo?

>a <- 3 + 2 ¿que tenemos ahora en a?

Page 12: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 12 de 48

Regresar

Full Screen

Cerrar

Abandonar

Primeros pasos (y III)

Resulta esencial saber que resultado es razonablemente espera-ble de la evaluacion de una expresion.

R detecta los errores de sintaxis.

>3 2+1 Error: el signo del producto no puede omitirse¿como responde el sistema?

>3*2+ Error: la expresion esta incompleta ¿que sucede?

R no detecta los errores conceptuales: hace lo que pedimos y nolo que deseamos.

Page 13: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 13 de 48

Regresar

Full Screen

Cerrar

Abandonar

Una sesion de trabajo sencilla.

>x <- rnorm(25) creamos un vector de 25 elementos con valores aleatorios normales

>a <- rnorm(25) creamos otro vector de 25 elementos

>y <- x + a/10 suma ponderada de los vectores anteriores, elemento a elemento

>rm(a) elimina el vector a

>summary(x) estadısticos de x

>summary(y) estadısticos de y

>mlyx <- lm(yvx) analisis de regresion para x, independiente, y dependiente

>plot (x,y) representacion de los puntos analizados

>abline(mlyx) representacion de la recta obtenida

>summary(mlyx) presentacion de los resultados del analisis

>plot(mlyx) representacion de los distintos elementos resultantes del analisis

Page 14: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 14 de 48

Regresar

Full Screen

Cerrar

Abandonar

Ayuda en R

help(), ?: Proporciona ayuda sobre una palabra clave>help(mean)>? mean>? "+"

help.start(): Inicia consulta de la ayuda desde un navegador.

help.search(): Relaciona los objetos que contienen la cadenadada.>help.search("plot")

apropos(): Muestra la relacion de objetos disponibles con unacadena dada.>help.search("plot")

Page 15: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 15 de 48

Regresar

Full Screen

Cerrar

Abandonar

Mas ayuda en R

example(): Muestra los resultados propuestos en el ejemplo dela ayuda.>example(persp)

demo(): Muestra “demos” disponibles o la presenta.>demo(graphics)

library(): Muestra la relacion de bibliotecas de funciones dis-ponibles.

data(): Muestra la relacion de datos de ejemplo disponibles.

Page 16: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 16 de 48

Regresar

Full Screen

Cerrar

Abandonar

La sintaxis de S

La sintaxis de S, y por extension de R, se basa en expresiones, estancompuesta, opcionalmente por:

Valores: numericos, logicos, o cadenas de caracteres

Variables: Representan a los objetos que se asignaron.

Asignacion: asigna el valor de una expresion a una variable.

Operadores: que relacionan elementos de la expresion.

Funciones: Efectuan una accion.

Page 17: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 17 de 48

Regresar

Full Screen

Cerrar

Abandonar

Valores

En R podemos utilizar valores, o tipos:

Logicos: TRUE, FALSE, T, F

Enteros: -10, 1, 1000, ...

Precision doble: -10.1, 6.02310e24, ..., -Inf, Inf, NaN

Complejos: 1+3i, 1+0i, 9i, ...

Caracter: "Hola", "Enero", "sin(x)", "pino", ...

Perdidos: Na

Page 18: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 18 de 48

Regresar

Full Screen

Cerrar

Abandonar

Variables

Los datos ser representan por una variable asociada a un nom-bre. El nombre de una variable debe empezar por una letra, nose admite el signo: “ ”, y es sensible a mayusculas.

Tipos de variables: dependen del contenido, numero, valoreslogicos, . . . , estructuras complejas.

h<-hist(x)str(h)List of 7 $ breaks : num [1:4] -6e-07 2e+00 4e+00 6e+00

$ counts : int [1:3] 2 2 2

$ intensities: num [1:3] 0.167 0.167 0.167

$ density : num [1:3] 0.167 0.167 0.167

$ mids : num [1:3] 1 3 5

$ xname : chr "x"

$ equidist : logi TRUE

-- attr(*, class")= chr "histogram"

Page 19: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 19 de 48

Regresar

Full Screen

Cerrar

Abandonar

Asignacion

El resultado de una expresion puede ser almacedando en una va-riable mediante una asignacion.

La asignacion puede realizarse utilizando los operadores “<-”,“->

”, y “ ” (este ultimo en desuso):

>x <- c(4,6,7,8,5,6)>mean(x) ->mx

Puede realizarse una doble asignacion, o asignar sobre la mar-cha:

>c(4,6,7,8,5,6) ->x ->y>2*(a<-3+3)

Puede asignarse sobre una variable utilizada en la expresion:

>i <- i+1>x <- x/2

Page 20: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 20 de 48

Regresar

Full Screen

Cerrar

Abandonar

Operadores

+,−, ∗, / suma, resta, producto, cociente

% %, %/ %, modulo, cociente entero, potencia

==, ! =, ! igual, distinto, no

>,>=, <, <= mayor que, mayor o igual que, menorque, menor o igual que

|, ||, &, && o, o, y, y

: generar una serie

% ∗ % producto de dos matrices

Page 21: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 21 de 48

Regresar

Full Screen

Cerrar

Abandonar

Jerarquıa en los operadores

Los operadores toman el operando de la izquierda y de la dere-cha.

En primer lugar se toma el operador de mayor rango en la je-rarquıa, y posteriormente se toman los de siguiente rango, si loshubiere.

a + b ∗ c

En el caso una expresion con dos operadores de igual rango setoma en primer lugar del de la izquierda.

a / b︸︷︷︸I

/ c︸ ︷︷ ︸II

equivalente a:a

b ∗ c

La jerarquıa puede obviarse mediante el uso de parentesis:

a/(b ∗ c)

Page 22: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 22 de 48

Regresar

Full Screen

Cerrar

Abandonar

Funciones

Las funciones son la forma de expresar un procedimiento maso menos complejo y que tiene como resultado: un numero, ungrafico, una estructura de datos, ...

>sum(x)/length(x)>mean(x)>hist(x)

Las funciones “asumen” algunas propiedades por defecto, y pue-den ser modificadas explicitando argumentos.

>plot(x)>plot(x,xlim=c(0,10))

Ademas de las funciones que aporta R en sus bibliotecas puedenanadirse funciones de usuario de una forma sencilla:

>euros<-function (x) x/166.386>euros(1000)

Page 23: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 23 de 48

Regresar

Full Screen

Cerrar

Abandonar

Datos, datos, datos

La cuantificacion de las observaciones proporciona informacionnumerica, o de tipo cualitativo, a la que llamamos datos.

Los datos suelen estar organizados en relacion a los objetos deestudio y a las propiedades observadas en cada uno de ellos.

La estructura de los datos suele darse en forma de matriz don-de las filas representan a las observaciones y las columnas a lasvariables.

En algunos casos para representar la informacion se recurre a ob-jetos complejos.

Page 24: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 24 de 48

Regresar

Full Screen

Cerrar

Abandonar

Datos, datos, datos

R proporciona distintas tipos de datos compuestos que puedenadaptarse a distintos tipos de problemas.

No ha de olvidarse que tanto los datos, como su estructura, co-mo las preguntas que formulamos en torno a ellas estan relacio-nadas.

R permite utilizar conjuntamente distintas matrices de datos pa-ra responder a preguntas mas complejas.

Page 25: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 25 de 48

Regresar

Full Screen

Cerrar

Abandonar

Tipos de datos compuestos

Vector conjunto ordenado de datos delmismo tipo basico.

Array vector con atributo de dimension,es valido cualquier numero de di-mensiones.

Matriz es un array con dos dimensionesFactor Tipo especial de vector en el que

se codifican las clases.Lista conjunto de elementos que pue-

den ser de distintos tipos.Estructura de datos mezcla de matriz y lista.

Page 26: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 26 de 48

Regresar

Full Screen

Cerrar

Abandonar

¿Como construir un vector de datos?

Concatenacion>x <- c(4,3,9,12)>y <- c(x,33,21)

Utilizando series numericas>y <- 9:17>y <- seq(1,10,by=0.1)

Repeticion de valores>x <- rep(1,20)>x <- rep(c(1,2,3),10)>x <- rep(1:3,1:3)

Page 27: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 27 de 48

Regresar

Full Screen

Cerrar

Abandonar

¿Como construir un vector de datos?

Tomando los valores del teclado>scan()->x

Leyendo los valores de un fichero>read.table("fichero")->x

Tomando valores al azar de una distribucion conocida>x <- rnorm(100)>x <- runif(100)

Muestreando aleatoriamente de un vector>x <- sample(1:1000,30)

Page 28: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 28 de 48

Regresar

Full Screen

Cerrar

Abandonar

Manejando vectores

Cuando se indica operaciones con vectores deben coincidir ennumero de elementos o ser esto multiplos:>x <- 1:10>x + 1>x + x>x * x>x + c(3,2)

Puede determinarse cuales son los elementos que cumplen unacondicion:>x <5>x % % 2 == 0

El numero de elementos del vector se puede determinar con:>length(y)>sum(y/y)

Page 29: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 29 de 48

Regresar

Full Screen

Cerrar

Abandonar

Manejando vectores

Todo el vector se anota: x o x[]

El primer y el ultimo de los elementos de un vector son: x[1] yx[length(x)]

Puede indicarse un subconjuntos de elementos:>x[1:4]>x[c(6,9)]

Puede indicarse un subconjuntos de elementos por exclusion:>x[-3]

Page 30: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 30 de 48

Regresar

Full Screen

Cerrar

Abandonar

Seleccion calculada de los elementos de un vector

Seleccion de los elementos del vector mayores que 5>x[x >5]

Seleccion de los elementos del vector con valor par>x[x % %2==0]

Puede seleccionarse los elemento de un vector en funcion deotro, por ejemplo ¿cual es el subındice de los elementos de unvector con valor negativo?>(1:length(x))[x<0]

Page 31: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 31 de 48

Regresar

Full Screen

Cerrar

Abandonar

Un experimento genetico

Deseamos simular 1000 descendientes de una pareja de hıbridos pa-ra un gen con dos alelos. Comprobando posteriormente la indepen-dencia de los alelos en los descendientes mediante una prueba deχ2.

Los alelos procedentes del padre y de la madre se obtienen:>padre <- sample(c("B","b"),replace=T,1000)>madre <- sample(c("B","b"),replace=T,1000)

Los resultados se pueden tabular y contrastar de forma sencilla:>table(padre,madre) ->tc>chisq.test(tc)

Incluyendo en el analisis una elegante representacion grafica>barplot(table(madre,padre),beside=T)

Page 32: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 32 de 48

Regresar

Full Screen

Cerrar

Abandonar

Algunas funciones basicas

Para ordenar de mayor a menor, o viceversa, se utiliza la funcionsort().

El nunero de orden que le corresponde a cada uno de los ele-mentos de un vector es calculado por order.

Para obtener la suma acumulada de los valores de un vector:cumsum.

La varianza y la desviacion tıpica de un vector se calculan con:var() y sd().

Page 33: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 33 de 48

Regresar

Full Screen

Cerrar

Abandonar

Matrices: definicion y notacion

Podrıamos decir que un vector es una ordenacion de datos enuna dimension. Un caso particular de array.

Cuando organizamos la informacion en dos dimensiones habla-mos de matriz.

La informacion de una matriz se organiza por filas y columnas.

v1 v2 . . . vj . . . vp

w1 x1,1 x1,2 . . . x1,j . . . x1,p

w2 x2,1 x2,2 . . . x2,j . . . x2,p

. . . . . . . . . . . . . . . . . . . . .wi xi,1 xi,2 . . . xi,j . . . xi,p

. . . . . . . . . . . . . . . . . . . . .wn xn,1 xn,2 . . . xn,j . . . xn,p

Page 34: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 34 de 48

Regresar

Full Screen

Cerrar

Abandonar

Matrices: construccion

Por la union de vectores, considerando que son filas o columnas:>rbind(x,y) ->m>cbind(x,y) ->m

Leyendo los datos de un fichero utilizando read.table().

Reorganizando la informacion de un vector mediante:>matrix(1:12,3,4) ->y

Page 35: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 35 de 48

Regresar

Full Screen

Cerrar

Abandonar

Matrices

Las dimensiones de una matriz se obtienen mediante:>dim(x)>nrow(x)>ncol(x)

Pueden conocerse los nombres de las filas y las columnas me-diante: rownames() y colnames().

Pueden cambiarse o atribuirse nombres a las filas y las columnasfacilmente:>rownames(x) <- nombresf>colnames(x) <- nombresc

Page 36: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 36 de 48

Regresar

Full Screen

Cerrar

Abandonar

Extraccion de submatrices

La matriz completa se anota como: x o x[,]

La primera fila se indica mediante: x[1,]

La primera columna se indica mediante: x[,1]

Para la seleccion de filas y columnas puede utilizarse los mismoscriterios que hemos visto para seleccionar los elementos de losvectores:>x[,c(3,6,9)]

Page 37: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 37 de 48

Regresar

Full Screen

Cerrar

Abandonar

Funciones y matrices

Existen funciones destinadas a matrices y otras que estan a vec-tores.

Para calcular la matriz de correlaciones se utiliza la funcioncor().

Para representar una matriz puede utilizarse matplot(), opairs().

Para calcular la media de las columnas se emplea la funcionmean() destinada a vectores:>apply(y,2,mean)

Page 38: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 38 de 48

Regresar

Full Screen

Cerrar

Abandonar

Funciones imprescindibles

c() Concatenar los elementos que se indi-can, separados por comas.

seq() Generar una secuencia numerica.rep() Generar un conjunto de valores repeti-

dos.t() Transponer una matriz.sqrt() Raız cuadrada.abs() Valor absoluto.sin(), cos() . . . Funciones trigonometricas.log(), exp() Logaritmo y exponencial.round() Redondeo de valores numericos.ls() Relacion de objetos disponibles.rm() Elimina uno o varios objetos.for(), while() Evalua una o un conjunto de expresiones

repetitivamente.if(), ifelse() Evalua una expresion condicionalmente.

Page 39: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 39 de 48

Regresar

Full Screen

Cerrar

Abandonar

Funciones graficas (1).

plot() Funcion generica para representar en el plano x−−y puntos, lineas, etc.

lines() Incorpora lıneas a un grafico.points() Incorpora puntos a un grafico.segments() Incorpora segmentos a un grafico.arrows() Incorpora flechas a un grafico.polygons() Incorpora polıgonos a un grafico.rect() Incorpora rectangulos un grafico.abline() Incorpora una recta de pendiente e interseccion

dada.curve() Representa una funcion dada.

Page 40: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 40 de 48

Regresar

Full Screen

Cerrar

Abandonar

Funciones graficas (2).

piechart() Diagramas de sectores.boxplot() Diagramas de box-and-whisker.stripplot() Similares a boxplot() con puntos.hist() Histogramas.barplot() Diagramas de barras.sunflowerplot() Representacion en el plano x−−y de diagramas

de girasol.qqnor() Diagramas de cuantil a cuantil frente a la distri-

bucion normal.qqplot() Diagramas de cuantil a cuantil de dos muestras.qqline() Representa la lınea que pasa por el primer y el

tercer cuartil.

Page 41: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 41 de 48

Regresar

Full Screen

Cerrar

Abandonar

Funciones graficas (3).

matplot() Similar a plot() pero admite matrices.matlines() Similar a lines() pero admite matrices.matpoints() Similar a points() pero admite matrices.coplot() Representa dos variables condicionadas por

una tercera.contour() Representa una superficie mediante curvas de

nivel.image() Representa una superficie mediante color.contour() Representa una superficie mediante en 3 di-

mensiones.stars() Diagramas de estrellas para datos multivarian-

tes.simbols() Representa objetos en un plano condicionados

a una matriz.

Page 42: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 42 de 48

Regresar

Full Screen

Cerrar

Abandonar

Funciones utiles en estadısticas (1).

mean() Media.sd() Desviacion tıpica.var() Varianza.mad() Desviacion absoluta media.max() Valor maximo.min() Valor mınimo.length() Numero de elementos.range() Rango.sum() Suma de los elementos.prod() Producto de los elementos.IQR() Recorrido intercuartılico.

Page 43: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 43 de 48

Regresar

Full Screen

Cerrar

Abandonar

Funciones utiles en estadısticas (2).

cumsum() Suma acumuladacumprod() Producto acumuladocummax() Maximo acumuladocummin() Mınimo acumuladosort() Ordena el vector.rev() Invierte el orden del vector.order() Indica el ındice de orden del elemento.rank() Convierte el valor a rango.cov() Matriz de covarianzas.cor() Matriz de correlaciones.density() Determina la densidad en la distribucion.table() Calcula la tabla de contingencia.

Page 44: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 44 de 48

Regresar

Full Screen

Cerrar

Abandonar

Leyes estadısticas y funciones (1).

dnorm() Valor de la funcion de densidad de la normal.

pnorm() Probabilidad encerrada por la curva normal.

qnorm() Valor de z para una probabilidad dada.

rnorm() Valor normal aleatorio.

Page 45: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 45 de 48

Regresar

Full Screen

Cerrar

Abandonar

Leyes estadısticas y funciones (2).

rbeta() Gauss(normal)rbinon() Binomialrcauchy() Cauchyrchisq() χ2 o Pearsonrexp() Exponencialrf() F-Snedecorrgamma() Γrgeom() Geometricarhyper() Hipergeometricarlogis() Logısticarlognorm() Logarıtmico-normalrnbinom() Binomial negativarpois() Poissonrt() T-Studentrunif() Uniformerweibull() Weibull

Page 46: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 46 de 48

Regresar

Full Screen

Cerrar

Abandonar

Entrada de datos.

Para leer un fichero de datos se utiliza la funcion:

read.table()

Ejemplo:Supongamos un fichero ASCII, de nombre misdatos.dat cuyo con-

tenido es:

uno dos tresa 1 2 3b 4 5 6c 7 8 9d 10 11 12

Bastara con la siguiente instruccion para disponer mis datos en unamatriz de nombre x:

read.table("misdatos.dat",header=T)->x

Page 47: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 47 de 48

Regresar

Full Screen

Cerrar

Abandonar

Exportacion de resultados.

Para guardar en un fichero los datos se utiliza la funcion:

write.table()

Ejemplo:Supongamos una matriz, de nombre x cuyo contenido es el resul-

tante de la pagina anterior.

La siguiente instruccion guardara mis datos en un fichero de nom-bre x.dat:

write.table(x,"x.dat",quote=F)

Con el siguiente contenido:

"uno" "dos" "tres""a" 1 2 3"b" 4 5 6"c" 7 8 9"d" 10 11 12

Page 48: Uso del programaestad´ıstico Rfobos.inf.um.es/palazon/presentaciones/R2002.pdfFull Screen Cerrar Abandonar ¿Queobjetivostenemos?´ Conocer la sintaxis basica de´ R. Aprender a

Pagina www

Pagina de Abertura

Contenido

JJ II

J I

Pagina 48 de 48

Regresar

Full Screen

Cerrar

Abandonar

Exportacion de graficos

Para guardar los graficos en un formato compatible con otros pro-gramas ha de activarse el correspondiente device. Lo mas habitual esguardarlos en formato postscript. El procedimiento es:

> postscript("migrafico.dat")> par(mfrow=c(2,1))> plot (x)> plot (y)> dev.off()

Conseguimos un fichero postscript, migrafico.dat, con una paginaen la que se incluyen dos graficos.