métodos estadísticos avanzados máster en …personal.us.es/jmayor/ficheros/r_mast.pdf · logo...

39
logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis estadístico con R. Fórmulas R básico Métodos Estadísticos Avanzados Máster en Matemática Avanzada Departamento de Estadística e Investigación Operativa Universidad de Sevilla. Facultad de Matemáticas Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB 1/39

Upload: vonhan

Post on 03-Oct-2018

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

R básico

⊆ Métodos Estadísticos Avanzados ⊆ Máster en Matemática Avanzada

Departamento de Estadística e Investigación Operativa

Universidad de Sevilla. Facultad de Matemáticas

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 1/39

Page 2: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Contenidos

1 Introducción a RGeneralidades. Paquetes básicos y adicionalesInstalación y Primeros PasosOperaciones BásicasUn anticipo a la programación en RPersonalizar entorno. Inicialización con “profiles”

2 Elementos del lenguaje ROperaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

3 Funciones. Control de flujoDefinición de nuevas funcionesProgramación en R. Instrucciones de control de flujo

4 Análisis estadístico con R. FórmulasAnálisis descriptivo. Otros análisisFórmulas en R

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 2/39

Page 3: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Generalidades. Paquetes básicos y adicionalesInstalación y Primeros PasosOperaciones BásicasUn anticipo a la programación en RPersonalizar entorno. Inicialización con “profiles”

Introducción a R

Generalidades

R es un programa, básicamente orientado a la ESTADÍSTICA, de distribuciónlibre. Contiene también funciones y posibilidades no exactamente estadísticaspero que sí pueden ser útiles para la misma. Por ejemplo librerías para manejoSPLINES, para OPTIMIZACIÓN y un larguísimo etcétera..

Su implementación mínima consta de un MÓDULO BÁSICO, denominado base,que se carga al ejecutar el programa. Además de este, existe un conjunto depaquetes adicionales que cargaremos cuando sea necesario.

La instalación actual, que emplearemos, está configurada para que al entrar en elentorno R se carguen automáticamente una serie de paquetes adicionalesimportantes que denominaremos PAQUETES AUTOMÁTICOS, y que son,datasets, utils, grDevices, graphics, stats y methods.

El conjunto formado por el MÓDULO BÁSICO y los PAQUETES AUTOMÁTICOS,contiene ya una gran librería de funciones que cubren prácticamente toda laEstadística: Análisis de Datos, Gráficas, Estadística Matemática, AnálisisMultivariante, etc.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 3/39

Page 4: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Generalidades. Paquetes básicos y adicionalesInstalación y Primeros PasosOperaciones BásicasUn anticipo a la programación en RPersonalizar entorno. Inicialización con “profiles”

Introducción a R

PAQUETES ADICIONALES

Si en un momento dado necesitamos algo más especializado, no contemplado enel módulo básico, recurriremos a otros PAQUETES ADICIONALES.

Al realizar la instalación de R, se crea una librería con PAQUETESADICIONALES locales que no se cargan (excepto los PAQUETESAUTOMÁTICOS) al entrar en el entorno R, pero si están disponibles.

A modo de ejemplo, cuando entramos en el entorno R, en principio no tenemosdisponible funciones para importar datos que estén por ejemplo en formato deSPSS. Hay un paquete local, denominado FOREIGN, que permite este tipo delecturas.

El paquete FOREIGN no se carga automáticamente cuando entramos en elentorno R, pero podemos cargarlo fácilmente como ya veremos.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 4/39

Page 5: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Generalidades. Paquetes básicos y adicionalesInstalación y Primeros PasosOperaciones BásicasUn anticipo a la programación en RPersonalizar entorno. Inicialización con “profiles”

Introducción a R

PAQUETES EXTERNOS

Aparte de los paquetes locales, existen otros paquetes externos que se puedencargar a partir de lugares en internet donde estén ubicados. Si tenemos conexióna internet, podemos acceder a ellos.

Estructura básica de R

R = [MÓDULO BÁSICO + PAQUETES AUTOMÁTICOS] + PAQUETESADICIONALES

PAQUETES ADICIONALES = PAQUETES LOCALES + PAQUETES EXTERNOS

Más información

R. Installation and Administration. Capítulo 6: Add-on packages

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 5/39

Page 6: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Generalidades. Paquetes básicos y adicionalesInstalación y Primeros PasosOperaciones BásicasUn anticipo a la programación en RPersonalizar entorno. Inicialización con “profiles”

Origen y recursos de R. Instalación

R viene de S

En su origen, R es una implementación, con ciertas modificaciones, de un lenguajeestadístico anterior, denominado S, que fue desarrollado en los Laboratorios Bell porJ. Chambers y sus colaboradores.

Al contrario de S, R es de libre distribución y ello ha contribuido a su enormedesarrollo. La comunidad que emplea R es muy dinámica y el número de nuevospaquetes y mejores crece exponencialmente.

Recursos

http:\\www.r-project.org

Instalación

Download - CRAN→ Spain http://cran.es.r-project.org

Download R for Windows→ base→ [la versión a fecha actual]

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 6/39

Page 7: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Generalidades. Paquetes básicos y adicionalesInstalación y Primeros PasosOperaciones BásicasUn anticipo a la programación en RPersonalizar entorno. Inicialización con “profiles”

Instalación y primera ejecución

Pasos a seguir

Cargamos en nuestro ordenador el fichero R-a.b.c-win32.exeLo ejecutamos y se instala el programa R.

Entramos en el entorno R a través del correspondiente icono.

Observamos que se entra en un entorno con una ventana de trabajo quedenominamos CONSOLA.

En este momento ya podemos introducir comandos.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 7/39

Page 8: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Generalidades. Paquetes básicos y adicionalesInstalación y Primeros PasosOperaciones BásicasUn anticipo a la programación en RPersonalizar entorno. Inicialización con “profiles”

Preparar un directorio de trabajo

Antes de continuar

Por defecto, R trabaja sobre el el directorio donde se ha instalado. Es convenientecrear un directorio y trabajar sobre él.

Pasos a seguir

Desde Windows creamos el directorio donde trabajaremos, por ejemploC:\r_trabajoCambiamos las propiedades de R pulsando botón derecho sobre su icono. En laopción iniciar en introducimos precisamente C:\r _trabajo. Así, al entrar en elentorno R todas las operaciones relacionadas con ficheros se realizan sobre taldirectorio.

Un anticipo. Funciones relacionadas:getwd() : Devuelve el directorio actual o de trabajo.dir() : Devuelve el contenido de dicho directorio.dir(”xyz”) : Devuelve el contenido del directorio xyzsetwd(”xyz”) : Cambia al directorio xyz

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 8/39

Page 9: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Generalidades. Paquetes básicos y adicionalesInstalación y Primeros PasosOperaciones BásicasUn anticipo a la programación en RPersonalizar entorno. Inicialización con “profiles”

Un pequeño ejemplo

Ejemplo

> print(rnorm(100)) # crea 100 números aleatorios N(0, 1). Los imprime

> x <− rnorm(100) # crea un vector x con 100 números aleatorios N(0, 1)

> x <− 5 * x + 10 # normal N(10, 52)

> y <− 5*rnorm(100)+10 # lo mismo de una vez

> cor(x,y) # coeficiente de correlación entre x é y

> boxplot(x,y) # diagrama de caja, por defecto vertical

> boxplot(x,y,horizontal=TRUE) # diagrama de caja, forzado a horizontal

Observaciones

<− es el operador de asignación. Se puede emplear en los dos sentidos. En lasoperaciones usuales, se puede sustituir por el signo = desde la versión 1.4.0 deR. Nosotros emplearemos ambos.

x é y son ambos vectores con 100 componentes cada uno. Son objetos que alcrearlos permanecen en memoria.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 9/39

Page 10: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Generalidades. Paquetes básicos y adicionalesInstalación y Primeros PasosOperaciones BásicasUn anticipo a la programación en RPersonalizar entorno. Inicialización con “profiles”

Algunas operaciones básicas

Instrucciones para listar y borrar objetos

Se puede obtener una lista de los objetos en memoria con las funciones ls() yls.str(). Esta última da más información. Con str(objeto) obtenemos informaciónsobre objeto.

Para listar es posible introducir patrones con la especificaciónpattern=”PATRÓN”, siendo PATRÓN un patrón de selección. Se puede emplearpat= para abreviar.

Ejemplo: ls(pat=”x”) lista los objetos cuyo nombre contiene x. Y ls(pat=”̂ x”)lista los objetos cuyo nombre comienza con x.

Se puede borrar un objeto con la instrucción rm(objeto)La instrucción rm(objeto1,objeto2,..) borra los objetos especificados.

La instrucción rm(list=ls()) lo borra todo. ¡¡¡USAR CON PRECAUCIÓN!!!

Ayuda y ejecución de comandos externos

Con help(fun) o ? fun accedemos a información de ayuda sobre la función fun.

Con shell(”comando”) podemos de ejecutar un comando o programa externo,desde el entorno R.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 10/39

Page 11: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Generalidades. Paquetes básicos y adicionalesInstalación y Primeros PasosOperaciones BásicasUn anticipo a la programación en RPersonalizar entorno. Inicialización con “profiles”

Ejemplo. Observar los resultados

> getwd()

> dir()

> z=x+y;t=x-y;u=x*y;v=x/y # se pueden ejecutar varias instrucciones en una línea

> ls()

> ls.str()

> help(ls)

> rm(z,t)

> rm(list=ls())

> shell(”dir”)

> shell(”notepad”)

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 11/39

Page 12: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Generalidades. Paquetes básicos y adicionalesInstalación y Primeros PasosOperaciones BásicasUn anticipo a la programación en RPersonalizar entorno. Inicialización con “profiles”

Nota previa sobre programación

Con lo visto hasta ahora, ya es obvio que R es un lenguaje interpretado. Unainstrucción (o varias) se ejecutan de forma interactiva.

Es posible escribir un lote de instruciones, es decir, un programa, y ejecutarlocomo tal. Para ello, utilizando un editor básico, se confecciona dicho programa, yse graba (en el directorio de trabajo) con extensión .r, por ejemplo, analisis.rPara ejecutarlo se emplea la instrucción source(”analisis.r")Estas operaciones se pueden realizar también en el menú Archivo con NuevoScript para crear un programa, Abrir Script para editar uno ya hecho, eInterpretar código fuente R para ejecutarlo.

Realizar una prueba con el programa que se expone a continuación. Ponerle elnombre programa1.r.

# Ejemplo de pequeño programax=rnorm(100);y=rnorm(100); z=x+yprint(”r(x,z)=”);print(cor(x,z))print(”r(y,z)=”);print(cor(y,z))boxplot(x,y,z,horizontal=TRUE)

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 12/39

Page 13: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Generalidades. Paquetes básicos y adicionalesInstalación y Primeros PasosOperaciones BásicasUn anticipo a la programación en RPersonalizar entorno. Inicialización con “profiles”

Dos útiles instrucciones

La instrucción file.choose() abre una ventana de selección de fichero, y da comoresultado el nombre del fichero seleccionado, con toda su trayectoria.

La instrucción choose.dir() abre una ventana de selección de directorio ocarpeta, y da como resultado el nombre de la carpeta seleccionada.

Ambas se pueden ejecutar directamente o también en la forma,> nf = file.choose()

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 13/39

Page 14: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Generalidades. Paquetes básicos y adicionalesInstalación y Primeros PasosOperaciones BásicasUn anticipo a la programación en RPersonalizar entorno. Inicialización con “profiles”

Personalizar entorno

Al entrar en el entorno R, se ejecutan automáticamente una serie de programas,lo que nos permite personalizar nuestro entorno, cambiar la apariencia, cargarnuestras propias funciones, etc. Los exponemos por el orden de ejecución.

El el subdirectorio library\base\R hay un fichero Rprofile que se ejecuta alcargar el módulo básico. Este no lo tocaremos por ahora. Más información en R.Installation and Administration. Capítulo 6: Add-on packages.

En el subdirectorio etc hay un fichero Rprofile.site que se ejecuta al entrar en elentorno R.

Seguidamente, si en el directorio de trabajo (o sea, el que usamosautomáticamente cuando entramos en R) existe un fichero .Rprofile, este seejecuta automáticamente.

Si en Rprofile.site y/o en .Rprofile se incluye una función con nombre especial.First(), esta se ejecuta al entrar en R.

Si en Rprofile.site y/o en .Rprofile se incluye una función con nombre especial.Last(), esta se ejecuta al salir de R.

Véase An Introduction to R. Capítulo 10. Sección 8.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 14/39

Page 15: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Operaciones. Constantes. Objetos

Tipos básicos: numérico, lógico, cadena de caracteres (delimitados por ”).También existe el tipo complejo.

Operaciones matemáticas básicas: +, -, *, /, ** (potencia),^ (potencia), sqrt() (raízcuadrada), %/% (división entera), %% (módulo).

Constantes: 23, 45.78, 2.5E6, "Pedro", pi (número π), Inf (infinito), TRUE(constante lógica, verdad, sí), FALSE (constante lógica, falso, no), NaN (“not anumber”), NA (“not available”, datos faltantes).

Comparaciones y operaciones lógicas: <, >, <=, >=, == (igual), ! = (distintode), ! (NO), & (Y), && (Y), | (O), || (O), xor() (O exclusivo).

Funciones matemáticas básicas: sin(), cos(), tan(), ... logarítmicas,exponenciales, y un largo etcétera. Actúan sobre números y también vectores.

Funciones estadísticas y relacionadas: max, min, range, pmax, pmin, mean,median, var, sd, quantile, sum, prod, diff, cumsum, cumprod, cummax,cummin, cor,... y un largo etcétera.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 15/39

Page 16: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Operaciones. Constantes. Objetos

Casi todo en R es un objeto: funciones, estructuras de datos como vectores,tablas, variables escalares, etc: Se identifican por un nombre.

El nombre de un objeto debe empezar por letra A-Z, a-z. Pueden contener dígitos0-9, punto (.) y barra baja (_).

R es sensible a mayúscula y minúscula. Por ejemplo la variable (objeto) edad esdistinta de la variable Edad.

Un nombre de objeto puede empezar por . y una letra. Por ejemplo .test es unnombre válido. Este tipo de nombres es también empleado por R para objetosrelacionados con algunos procesos internos.

Los objetos que empiezan por . no se listan con ls(). Hay que emplearls(all.names=TRUE)

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 16/39

Page 17: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Tipos de objetos: Cadenas de caracteres

Cadena de caracteres

Ristra de caracteres delimitados por comillas: ’098AS’, "FLY-KLM-2034"

La función as.numeric(C) convierte la cadena C a número cuando ello es poible.

as.character(N) convierte el número N a cadena.

paste(X,Y,sep=“a”) une las cadenas X e Y, separándolas por a. Si no queremosseparador ponemos sep=“”.

nchar(C) proporciona el número de caracteres de la cadena C.

substr(C,i,j) proporciona la subcadena de C desde el carácter i al j, ambosinclusive.

Es posible comparar cadenas mediante ==, !=, <, <=, >, >=. El orden es elalfabético.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 17/39

Page 18: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Tipos de objetos: Cadenas de caracteres

Coerción de números a cadenas

En operaciones que involucran cadenas y números, estos últimos se convierten acadenas.> ’1234’==1235[1] TRUE

> “PEDRO” <= 1235[1] FALSE

> c(1,2,’a’,126)[1] “1” “2” “a” “126”

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 18/39

Page 19: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Tipos de objetos: Vectores

Vector

Estructura unidimensional de valores simples. Es decir, un vector en su sentidoclásico. Sus componentes pueden ser numéricas, cadenas de caracteres, lógicasy complejas.

Todas las componentes han de ser del mismo tipo. Si V es un vector, V[i] es lacomponente i-esima.

La instrucción W=c(23,45,67,89) crea un objeto tipo vector con cuatrocomponentes numéricas y nombre W .

Si V es un vector de n componentes, y x es un vector de enteros entre 1 y n, V[x]es el vector formado por las componentes de V indicadas por x.

Análogamente, Si V es un vector y cond una condición lógica, V[cond] es elvector formado por las componentes que cumplen la condición.

Usualmente, salvo operaciones como sum() y otras, que realizan la suma de lascomponentes, las operaciones sobre vectores se realizan sobre cadacomponente generando otro vector.

Mediante el operador %in% podemos comprobar si un valor está o no en unvector. El resultado es TRUE o FALSE.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 19/39

Page 20: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Tipos de objetos: Vectores

Vector

Por ejemplo, si V=c(2,3,4,3,7,6)

V*V genera el vector 4,9,16,9,49,36

V[c(1,2,2,5)] genera el vector 2,3,3,7

V>=4 genera el vector FALSE, FALSE, TRUE, FALSE,TRUE, TRUE

V[V>=4] genera el vector 4,7,6

V[V==3]=5 cambia las componentes iguales a 3, por 5, es decir, transforma V en2,5,4,5,7,6

16 %in% V produce FALSE. ’49’ %in% (V*V) produce TRUE. NOTA: %in% tieneprioridad sobre *.

Función tapply()

tapply(x,y,fun) calcula la función fun sobre el vector x para cada modalidad de y.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 20/39

Page 21: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Tipos de objetos: Arrays y matrices

Arrays y matrices

Los arrays son tablas con k dimensiones. Por ejemplo una tabla T, dedimensiones 5× 4× 7, es un array tridimensional (k=3). Los arraysbidimensionales (k=2) se denominan matrices.

Las componentes de un array pueden ser numéricas, cadenas de caracteres,lógicas y complejas.

Todas las componentes han de ser del mismo tipo. Si T es un arraytridimensional, T[i,j,k] es la componente (i,j,k)-esima.

Si T es un array 5× 4× 7, T[„2] será la matriz 5× 4, segunda “rebanada” delarray.

Para crear matrices se emplea la función matrix(). Para crear arrays se emplea lafunción array()

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 21/39

Page 22: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Tipos de objetos: Data Frames

Data Frames

Un data-frame es una tabla de datos compuesta por uno o varios vectores, todoscon la misma longitud aunque pueden ser de tipos distintos.

Es el objeto más habitual para los datos experimentales y el que se más seidentifica con las tablas de datos que acostumbramos a emplear.

La forma básica directa de crear data-frames a partir de distintos vectores de lamisma longitud, A1, A2,..,An, es ejecutar la función data.frame(A1,A2,...,An). Secrea un data-frame cuyas columnas se denominan precisamente A1, A2,..,An.

Para referenciar la columna Ak de un data-frame llamado por ejemplo Midatabasta escribir Midata$Ak. Es un vector.

Otra forma alternativa para referenciar la columna k -ésima de Midata esMidata[[k]]. Es un vector

Midata[k] es también la columna k -ésima pero como data-frame.

Existen multiples funciones para leer data-frames desde ficheros, y para salvarlosen ficheros. Se verán en breve.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 22/39

Page 23: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Edición de datos en data-frames, vectores y matrices

Edición

Si x es un vector o matriz existente, no vacíos, sus valores pueden ser editadosmediante la instrucción,

data.entry(x)

La función fix() tiene una misión similar pero actúa de forma distinta sobredata-frames y matrices que sobre vectores y arrays.

También es posible editar con la función edit(), pero ha de ser empleada en laforma x=edit(x) para que los cambios tengan efecto.

Si queremos crear un data-frame y darle el nombre x, la forma más simple dehacerlo es ejecutar primero la instrucción x=data.frame(), y a continuación fix(x).Si queremos crear una matriz y darle el nombre m, la forma más simple dehacerlo es ejecutar primero la instrucción m=matrix(0), y a continuación fix(m).

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 23/39

Page 24: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Tipos de objetos: Factores y listas. Otros

Factores

Es un tipo especial de vector para datos categóricos o cualitativos.

Contiene los datos, y además información sobre las modalidades existentes.

Listas

Una lista está formada por componentes que pueden ser otras listas.

Cada componente puede ser de distinto tipo, tamaño, etc.

Son contenedores muy generales de datos. Muy flexibles, pero sin estructura.

Para referenciar el elemento k -ésimo de una lista llamada por ejemplo Resultadose emplea Resultado[[k]].Para crear una lista se emplea la instrucción list().

Otros tipos

Series temporales. Funciones. Expresiones.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 24/39

Page 25: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Lectura desde ficheros. Escritura

Lectura. Función read.table()

Si tenemos un fichero de texto ASCII con distintas columnas, separadas entre si,denominado datos.dat, la instrucción,

> misdatos = read.table(”datos.dat”)

crea un data frame con las mencionadas columnas. Por defecto, la columnas sonnombradas como V1, V2, etc.La instrucción,

> misdatos = read.table(”datos.dat”,header=TRUE)

crea un data frame con las mencionadas columnas pero nombra cada una con elcontenido de la primera fila del fichero.

Escritura. Función write.table()

Si tenemos un data frame x (también sirve para vectores, matrices, etc.),podemos grabarlo en un fichero datosg.dat con la instrucción,

> write.table(x,”datosg.dat”)

Para vectores, matrices y arrays se puede emplear la función write()

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 25/39

Page 26: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Lectura especial desde ficheros

Ficheros ASCII especiales. Función read.fwf()

Si tenemos un fichero con datos no formateados, por ejemplo,

A1.501.2A1.551.3B1.601.4B1.651.5

denominado datosm.dat, podemos leerlo con la función read.fwf() en la forma,> misdatos = read.fwf(”datosm.dat”,widths=c(1,4,3))

Se leen tres variables a partir de las columnas 1, 2 a 5 y 6 a 8.

Al igual que read.table(), admite la especificación header

IMPORTANTE

Todas estas funciones de lectura y escritura tienen múltiples especificaciones queproporcionan gran flexibilidad.

Véase por ejemplo el documento R para principiantes. Capítulo 3.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 26/39

Page 27: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Lectura desde otros formatos

Importar desde ficheros de EXCEL. Método Básico

Si tenemos datos en EXCEL, hay múltiples posibilidades para leerlos desde R.Aquí veremos una de ellas.

La hoja de EXCEL se graba en formato .CSV (delimitado por comas).

Se lee desde R con la función read.csv2() que tiene un funcionamiento similar aread.table().Por defecto lee los nombres de las variables desde la primera fila. Si no queremosque lo haga, añadiremos la especificación header=FALSE.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 27/39

Page 28: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Lectura desde otros formatos

Importar desde ficheros Excel. Librería xlsx

El paquete xlsx permite importar y exportar ficheros Excel desde o a undataframe.

Este paquete es externo, y la primera vez tendremos que instalarlo conPaquetes-Instalar. Con esta operación el paquete queda instalado en nuestramáquina.

Lo cargamos con >library(xlsx) o con Paquetes-Cargar. Es posible que hayaque cargar librerías adicionales.Para cargar en un dataframe los datos de la hoja número 1 de dat_alum.xlsejecutamos la instrucción,

> alumnos=read.xlsx(”dat_alum.xls”,sheetIndex=1)

Con help(read.xlsx) obtenemos ayuda sobre esta función y otras relacionadas.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 28/39

Page 29: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Lectura desde otros formatos

Importar desde ficheros Excel. Librería XLConnect

El “package” XLConnect permite importar y exportar ficheros Excel desde o a undataframe.

Este paquete es externo, y la primera vez tendremos que instalarlo conPaquetes-Instalar.

Lo cargamos con >library(XLConnect) o con Paquetes-Cargar.Para cargar en un dataframe los datos de la hoja primera de dat_alum.xlsxejecutamos la instrucción,

> alumnos=readWorksheetFromFile(”dat_alum.xls”,sheet=1)

Para escribir el dataframe alumnos en la hoja hoja1 del libro datos.xlsxejecutamos la instrucción,

> writeWorksheetToFile(”dat_datos.xls”,alumnos,sheet="hoja1")

Con help(XLConnect) obtenemos ayuda sobre esta función y otras relacionadas.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 29/39

Page 30: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Lectura desde otros formatos

Importar ficheros de SPSS

La implementación base de R no tiene funciones para leer ficheros de SPSS,SAS y otros. El paquete adicional foreign permite este tipo de lecturas.

Lo cargamos ejecutando > library(foreign) o desde el menú Paquetes.Si tenemos un fichero SPSS de nombre d_sur.sav, lo leeremos y cargaremos enel data frame d.sur ejecutando la instrucción,

> d.sur=read.spss(”d_sur.sav”,to.data.frame = TRUE)

Con help(read.spss) obtenemos ayuda sobre esta función y otras relacionadas.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 30/39

Page 31: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Entrada interactiva de datos

Entrada interactiva de datos. Función scan()

Podemos introducir datos desde el teclado con la función scan().Si se emplea tal cual, la entrada se detiene al teclear una entrada vacía.

La forma usual es variable=scan().Si queremos imponer que se admita un número determinado de datos, porejemplo 8, emplearemos la especificación nmax=8.

Si los datos van a ser cadenas de caracteres emplearemos la especificaciónwhat=”character”.

Ejecutar help(scan) para obtener más información.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 31/39

Page 32: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Salida de resultados.

Salida. Funciones print() y cat()

Ya hemos visto que la función print() produce la salida datos en la pantalla.

En ciertas situaciones, será cómodo exponer un resultado con una etiqueta onombre informativo.

La función cat() nos puede servir para ello pues produce la salida de variosresultados, separados por comas. La cadena especial ”\n” produce un salto delínea.Por ejemplo, si VENTAS es el vector 23 45 67 89, la instrucción,

> cat(”VENTAS =”,VENTAS,”\n”)

produce la salida VENTAS = 23 45 67 89

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 32/39

Page 33: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Grabar y leer área de trabajo

Área de trabajo

El área de trabajo consta de todos los objetos [variables, vectores, dataframes,funciones, et.] existentes en memoria. Podemos grabar en disco, para usarlosposteriormente, todos estos objetos existentes en un momento dado, con unnombre de fichero especificado.

Esto se lleva a cabo con la función save.image(fichero), Si no se especificafichero, se graba en el directorio de trabajo con el nombre .RdataSe puede hacer también desde el menú Archivos, opción Guardar área detrabajo. Y lo mismo para cargar un área de trabajo previamente grabada.

Si queremos grabar sólo algunos objetos, usaremos la funciónsave(objetos,file=fichero)Si tenemos los dataframes datos1 y datos2, con la instrucciónsave(datos1,datos2,file=‘datos.dat’) los guardamos en el fichero ‘datos.dat’.Este fichero no tiene una extensión específica.

Para volver a cargar los objetos grabados con save() empleamos la funciónload(fichero). Por ejemplo load(‘datos.dat’) cargaría datos1 y datos2.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 33/39

Page 34: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Operaciones, constantes y objetos. Tipos de objetosLectura desde ficheros ASCII. EscrituraLectura desde otros formatosEntrada de datos interactiva. SalidaGrabar y leer área de trabajo e histórico

Grabar y leer histórico de instrucciones

Histórico de instrucciones

Con savehistory() y loadhistory() se puede, respectivamente, grabar y cargar unfichero con todas las instrucciones que se han ido ejecutando.

También se puede hacer de forma más dirigida desde el menú Archivos.

Para ver el registro histórico de instrucciones ejecutadas se emplea la funciónhistory()Con la opción Guardar en archivo del menú Archivos se puede grabar la sesióncompleta de instrucciones y resultados.

Estas acciones son interesantes pues permiten tener un registro de todas lasacciones realizadas en una sesión de trabajo.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 34/39

Page 35: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Definición de nuevas funcionesProgramación en R. Instrucciones de control de flujo

Funciones

Creación de nuevas funciones

R es un lenguaje que permite crear nuevas funciones. Una función se crea odefine con una instrucción de la forma,

nombre = function(arg1,arg2,..){EXPRESIÓN}La EXPRESIÓN está formada por una o varias fórmulas e instrucciones queemplean los argumentos arg1, arg2, etc., para calcular su valor. Esta valor oresultado puede ser de cualquier tipo: escalar, vector, etc.

La instrucción return() indica el resultado de la función. Esta instrucción no esobligatoria, y si no aparece, el resultado es el valor de la última expresiónevaluada.

Las funciones, una vez creadas, son nuevos objetos. Se pueden editar con lafunción fix()Ejemplo. Función varianza clásica. Recordemos que var() es la cuasivarianza.

> varp=function(z){return((length(z)-1)*var(z)/length(z))}

Si x es un vector, varp(x) calcula la varianza clásica. Nótese que la definición sepuede hacer con cualquier nombre para el argumento.

NOTA: La función length() devuelve el número de componentes de un vector.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 35/39

Page 36: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Definición de nuevas funcionesProgramación en R. Instrucciones de control de flujo

Programación. Instrucciones para control de flujo

Podemos confeccionar un programa con un conjunto de instrucciones de R, grabarloen un fichero y ejecutarlo en bloque con la función source()

Instrucciones de control de flujo. Son las habituales

if (expresión lógica) expresiónif (expresión lógica) expresión1 else expresión2for (variable in ámbito ) expresión. Ámbito puede ser un rango, por ejemplo1:40. También puede ser un vector.

while (expresión lógica) expresión.

repeat expresiónbreak. Fuerza al programa a salir del bucle actual. Se emplea con for, while yrepeat.

IMPORTANTE: Cuando una expresión está compuesta de varias instrucciones, sedelimitan por llaves, {}.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 36/39

Page 37: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Análisis descriptivo. Otros análisisFórmulas en R

Análisis descriptivo. Algunas funciones básicas

table(). Para tabular datos.

summary(). Resumen estadístico.

stem(). Diagrama de tronco y hoja.

cut(), levels(). Para tabla de intervalos.

lm(). Modelo lineal . Usualmente se usa en combinación con summary()

wilcox.test(). Intervalo de confianza para la mediana.

aov(). Análisis de la varianza. Usualmente se usa en combinación con summary()

kruskal.test(). Test no paramétrico Kruskal- Wallis.

Y un larguísimo etcétera.

Múltiples ejemplos de análisis estadísticos

Véase Simple R.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 37/39

Page 38: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Análisis descriptivo. Otros análisisFórmulas en R

Fórmulas

Estructura de una fórmula

Una fórmula tiene la forma general y ∼ modeloy es la variable de respuesta que se analiza.

modelo es una expresión que contiene variables explicativas.

La aplicación de las fórmulas depende del contexto en que se utilicen.

Ejemplo. boxplot(estatura ∼ sexo) dibuja un diagrama de caja múltiple para laestatura, con una caja para cada sexo.

Ejemplo. lm(estatura ∼ peso) realizar un análisis de regresión lineal con elmodelo básico y=ax+b siendo x la variable pesoAlgunos paquetes gráficos como por ejemplo lattice emplean las fórmulas conciertos significados especiales. Véase R para principiantes.

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 38/39

Page 39: Métodos Estadísticos Avanzados Máster en …personal.us.es/jmayor/ficheros/R_mast.pdf · logo Introducción a R Elementos del lenguaje R Funciones. Control de flujo Análisis

logo

Introducción a RElementos del lenguaje R

Funciones. Control de flujoAnálisis estadístico con R. Fórmulas

Análisis descriptivo. Otros análisisFórmulas en R

Fórmulas

Algunos modelos

x+y indica β1x + β2y + α

poly(x,3) indica β1x + β2x2 + β3x3 + α

x:y indica interacción entre x e yx*y indica modelo aditivo con interacción entre x e y. Equivalente a x+y+x:ySi queremos incluir expresiones empleamos la función I(). Por ejemplo la fórmulay ∼ I(x1+x2) define el modelo lineal y = β(x1 + x2) + α

Si no queremos incluir el término constante añadimos -1. Por ejemplo la fórmula y∼ x1+x2-1 define el modelo lineal y = β1x1 + β2x2

Véase Introducción a R y R para principiantes.

FIN de R básico

Máster en Matemática Avanzada. Métodos Estadísticos Avanzados Pequeño Curso de R. [J.A.M.G.] CB � 39/39