introducción a la programación en r

Post on 03-Jul-2015

2.475 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Introducción e instalación• R es un sistema de análisis estadístico

creado en 1996 por Ross Ihka y Robert Gentleman .

• Es una implementación del lenguaje S desarrollado en los laboratorios Bell por Rick Becker, John Chambers y Adam Wilks.

• Además, el lenguaje S forma la base del sistema S-PLUS

• S, simple y clara.

Introducción e instalación• R puede utilizarse como un lenguaje de

programación y como una pieza.

• Puede ser utilizado en la manipulación de datos, cálculos y proyección de gráficas.

• También puede ser usado como un interpretador de lenguaje de programación y es una introducción excelente a la programación ya que su sintaxis es simple y clara.

Instalación de R

• La descarga de R es gratuita en CRAN (Comprehensive R Archive Network)

Instalación de R en Windows• Para la plataforma de Windows accede

Windows (95 o versiones posteriores), escoge la versión y descarga el archivo R-XXXX-win32.exe, donde XXXX representa el número ejecutable (por ejemplo, R-2.4.0-win32.exe para liberar 2.4.0) escoge un área cerca de ti (eg. UK, Bristol).

• Utiliza este archivo para instalar R en tu computadora.

GNU Linux/Unix

• En las cajas *nix se necesita tener una raíz de acceso.

• Usualmente hay disponible un .rpm ó un paquete de un instalador similar.

• Si usted es bueno poniendo a funcionar paquetes lo puedes instalar desde su fuente donde debes descargar los archivos de base de .src y compilar tu propia versión.

Macintosh

• R esta disponible para los sistemas OSX.

• Por el momento el autor no conoce comose puede instalar.

• La información se puede conseguir en CRAN.

Document conventions

• Este es el color de entrada. • Lo que significa que todo lo que ves de este

color puede entrarse en la línea de comando de R.

• Todo en este color es repuesta de R y aparecerá en la ventana de R.

• Todo en este color es una pieza larga del código R en el cual se puede escribir en una línea por línea de base, pero probablemente es mejor si se lee desde su archivo.

• Finalmente, todo en este color es data.

• Todos los objetos de R son de este color.

• Los objetos en este color no necesariamente pueden ser escritos como una consola de comandos.

• Toda función debe ir acompañada de paréntesis para identificar que es una función.

• La función linear de regresión lm se representa como lm().

Comenzar con R• En las maquinas *nix R se invoca escribiendo:

>R• R responderá con el siguiente mensaje de

introducción:

R : Copyright 2006, The R Foundation for Statistical Computing Version 2.3.1(2006-06-01) ISBN 3-900051-07-0

R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type ’license()’ or ’licence()’ for distribution details.

Natural language support but running in an English locale

R is a collaborative project with many contributors. Type ’contributors()’ for more information and ’citation()’ on how to cite R or R packages in publications.

Type ’demo()’ for some demos, ’help()’ for on-line help, or ’help.start()’ for an HTML browser interface to help. Type ’q()’ to quit R.

• Las máquinas que contienen Windows son ligeramente diferentes en R ya que comenzará en una ventana que llevará a otra, la cual actuará como terminal:

El menú y la barra de herramientas en la versión R de Windows hace algunas funciones de R inmediatamente accesibles sin cambiar la función esencial del programa

Menú de R

Barra de herramientas

Open script

Load workspace

Save Workspace Paste

Copy Copy and paste

Print

Stop current computation

El teclado “up”

• El teclado “up” en R trabaja de la misma forma que la mayoría de las bases de comandos de un teclado “up”.

• Cuando desarrollas una línea del código R puedes correr la línea una y otra vez y puedes modificar si es necesario sin tener que reescribir la línea otra vez.

El Teclado “tab”

• El teclado “tab” para R en la mayoría de los sistemas (incluyendo Windows) actúa de la misma forma que la mayoría de *nix en las que comienza con una función autocompleta.

• Cuando se presiona en el teclado “tab”, la línea de comando de R busca la línea de comando para saber si el usuario esta tratando de entrar un nombre de archivo.

• El interpretador trata de adivinar lo más que pueda del archivo y escanea el directorio de trabajo y verifica si algún archivo parea con el nombre del archivo entrado.

El Teclado “tab” • Si es un directorio que contiene los archivos

“commands-01.r”, “commands-02.r” y “commands-03.r”, entonces se escribe “c” y se presiona “tab” para que R suba por ti el “commands-0” hasta que encuentre una ambigüedad.

• Luego seleccionas algunas opciones y presionas el teclado “tab” nuevamente y escoges “1” para auto-completar el nombre del primer archivo.

• Nuevamente presionas el teclado de “tab” para suba el resto de “commands-01.r”.

Utilizando “help”• Lo único que necesitas para adquirir ayuda en R es:

help.start()

• Luego podrás observar lo siguiente en pantalla:Making links in per-session dir ...

If ’sensible-browser’ is already running, it is *not* restarted, and youmust

switch to its window.

Otherwise, be patient ...

• Lo que significa que si un navegador de internet ya está trabajando, entonces el equipo completo de ayuda estará disponible en esa instancia del navegador de internet, de lo contrario el equipo completo de ayuda estará disponible en una nueva instancia de los sistemas preferidos.

• La función “help” es una serie de documentos con hipervínculos, que guían al usuario en todos los aspectos de la operación R.

• La mayoría de las funciones están archivadas bajo “packages” y “base”.

• El motor de búsqueda disponible en la pagina principal es bueno y la búsqueda por palabra clave también disponible en la pagina principal puede ser muy útil.

• Si no estas familiarizado con las librerías y las funciones de R debe ser suficiente utilizar el navegador básico de ayuda.

Utilizando “help”

• Si conoces en que necesitas ayuda puedes utilizar la función help().

• Conocemos que la función de regresión lineal es lm, entonces para encontrar ayuda con lmse debe escribir:

>help(lm)

ó

>help("lm")

• Cualquiera de estos subirá la página de lm en el sistema de navegación.

Utilizando “help”

• La versión con las comillas solo es útil para esas funciones con varias palabras de clave que necesitan ser alimentadas en “help”.

• Esto sucede en los casos de ayuda en el operador asignado <-, donde help(<-)

confunde a R, pero help("<-") consigue la pagina para el operador <- en el sistemas de navegación de internet.

Utilizando “help”

• Si no conoces la función en la cual necesitas ayuda y no deseas utilizar el navegador, entonces puedes utilizar la función help.search().

• Si desea ayuda encontrando comandos relacionados con regresión, entonces:

help.search("regression")

Utilizando “help”

• Donde aparecerá de retorno en la pantalla

Help files with alias or concept or title matching "regression" using

fuzzy matching:eco(faraway) Ecological regression exampleexa(faraway) Non parametric regression test data Aexb(faraway) Non parametric regression test data B

......

• Una explicación corta de una de las líneas anteriores de este concepto es:eco(faraway) Ecological regression example

Utilizando “help”

• eco(faraway) significa la función eco() de la librería faraway.

• Para adquirir la pagina de ayuda para eco() debe uno primero subir la librería faraway y después la pagina eco().

library(faraway)help(eco)

• El resultado será la pagina de ayuda para la función eco que aparece en el sistema de navegación de internet.

Utilizando “help”

• La función help.search() hará una búsqueda a través de todas las funciones de todas las librerías de las cuales la instalación R conoce.

• Desafortunadamente la función help() no podrá subir en el sistema de navegación de internet la pagina para cualquier función de cualquier librería en la cual no fue cargada para esa sección.

• Por esta razón la librería faraway debe ser cargada con anterioridad.

Utilizando “help”

Objetos y Funciones

Creando funciones simples

• Un objeto puede crearse diciéndole a Rcómo leer un archivo, creado como parte de la corrida de un programa o simplemente creando objetos directos

Creando funciones simples

• a <- 5

• Creando un objeto llamado “a” el cual tiene valor igual a 5

<-

• Utilizado como el único operador para asignar valores en versiones antiguas de R.

• En versiones recientes, podemos utilizar “=” como operador de asignación.

• a <- 5

• a = 5

• En este ejemplo, asignamos el valor 5 a la variable “a”

• Se prefiere “<-” como operador de asignación para así no crear confusión con las pruebas de equivalencias.

• Si por error escribimos sin comillas (d <- a), lo que hacemos es asignarle al valor de “a” a “d”.

• Podemos asignarle valor a la variable de un nombre o palabra.

• Si llamamos una variable que no existe o que no ha sido creada, el programa indica un error:

Listar objetos

• Para saber qué objetos hemos creado en la sección activa de R, utilizamos la función “R list” o “ls( )”.

• La función “ls( )” no tiene parámetros

Eliminar o suprimir objetos

• Para eliminar variables del ambiente de trabajo activo utilizamos la función “rm( )”

• Si se utiliza sin parámetros, rm( ) borra todo lo que ls( ) mostraría en ese momento.

• Si se utiliza con parámetros, remueve la variable indicada y su valor correspondiente.

ls( ) & rm( )

Manipulando objetos simples

• Podemos asignar varios valores y utilizar variables para operaciones matemáticas.

Nombrando objetos

• Anteriormente trabajamos con a, b y c.

• Éstos son variables y no nombres de objetos

• Los nombres de objetos en R son de la forma:– explaniatory.coefficient

• A pesar de permitirnos utilizar el punto (.), los caracteres !, -, $, entre otros, no son permitidos.

Nombrando objetos

• R nos brinda la función make.names() que podemos utilizar para obtener versiones permitidas para nombrar las funciones con los caracteres indicados.

Funciones

• R es un lenguaje de programación funcional

• El término funcional significa que emplea o utiliza funciones para maximizar el trabajo del programa.

Creando una función simple

• Abrimos la consola de R y escribimos:

• Esta función es llamada con dos argumentos o parámetros (x y y).

• El cuerpo de la función:

– Suma los argumentos x y y

– los guarda en “result”

– El resultado se muestra en pantalla

Creando una función simple

• Nos devuelve un mensaje de error si:

– Utilizamos variables no inicializadas

– Utilizamos la función sin parámetros

– Si se escriben parámetros demás

– Si se escribe parámetros de menos

• Si sólo escribimos el nombre de la misma, nos muestra la función.

Creando una función simple

Creando una función simple

• Todas las funciones se asignan de la misma forma, utilizando el comando “function( )”

• Dentro de los paréntesis se escribe la lista de parámetros que la función creada.

Creando una función simple

• Si deseamos crear una función para dividir:

• Esta nueva función se utiliza con dos parámetros

• El primer parámetro es dividido por el segundo

Creando una función simple

• Las funciones en R se escriben en una sola línea

• En un programa tipo archivo o editor de texto lo podemos escribir de forma larga

TRABAJANDO CON FUNCIONES

Creando vectores en R

• Para asignar el vector 1, 2, 3, 4 al objeto a:

• Utilizamos la función “c( )” para asignar valores 1, 2, 3, 4 a a.

• Al asignarle varios valores a un objeto, este se le llama “arreglo”.

• R permite realizar operaciones matemáticas con los arreglos ya que es un lenguaje de programación semi-orientado

Creando vectores en R

Trabajando con vectores en R

• Si tratamos de sumar los arreglos de diferente longitud, esperamos que R indique un error, pero no es así.

• Estos valores se obtienen de:– 1 + 5 = 6– 2 + 6 = 8– 3 + 5 = 8– 4 + 6 = 10

• Como a tiene 4 elementos (1, 2, 3, 4) y c sólo tiene 2 (5, 6) se parean:

• a(1) + b(1)

• a(2) + b(2)

• a(3) + b(1)

• a(4) + b(2)

Grabando una sesión en R

• *nix systems

• Save.image( )

– Es una función dependiente del sistema operativo

– Se utiliza para guardar todo lo que tenemos en el ambiente de trabajo

– Por defecto se genera un archivo llamado “.RData“

Grabando una sesión en R

• Todo archivo comienza con una parada (.)

• Es un archivo oculto que luego de ser llamado, necesitas de una función q( ) para poder salir.

• Si salimos de un ambiente de trabajo sin guardar los cambios, luego no podemos acceder los mismos.

Grabando una sesión en R

• Si guardamos nuestro ambiente de trabajo, cuando abrimos uno nuevo, simplemente llamamos a “.Rdata” y tenemos nuestro ambiente anterior.

• A la hora de guardarlo, debemos observar en el directorio en el cual se grabó para así poder acceder sin problemas.

Grabando una sesión en R

• Utilizando la función save.image( ) podemos asignarle un nombre al ambiente de trabajo

• Creamos un ambiente de trabajo llamado “mysession”

• Para poder subir o cargar el archivo, simplemente utilizamos:

Sistema Windows

• Para guardar el ambiente de trabajo en R utilizamos las funciones:

– Save workspace

– Load workspace

Trabajando con archivos

• La idea de trabajar con archivos viene de la posibilidad de añadir líneas de programación o comandos adicionales en un ambiente de trabajo en varias sesiones diferentes.

Almacenando comandos

• Los archivos de texto en R son simples

• Pueden ser editados en cualquier programa que trabaje con texto

• Algunas aplicaciones que pueden utilizarse son:

– Wordpad

– Word

– Notepad

Almacenando Comandos

• Podemos crear un archivo de texto llamado “bit-00.r”

Almacenando Comandos

• Utilizamos la función “source( )”

• Llamamos el archivo bit-00.r

• R devuelve el resultado de la secuencia de comandos

Almacenando funciones

• Escribimos la función en un editor de texto.

• Guardamos el archivo bajo el nombre “bit-01.r”

Llamar funciones creadas

• Para llamar una función creada, vamos a File Source R code

Llamar funciones creadas

• Seleccionamos el archivo:

Llamar funciones creadas

• Luego de obtener la función, podemos utilizar la misma.

SIMULACIONES DE PROBABILIDAD

Creando funciones

Lanzamiento de un dado

• Esta función simula el lanzamiento de un dado una sola vez.

• Devuelve “TRUE” si el valor es par (2, 4 ó 6)

• Devuelve “FALSE” si el valor es impar (1, 3 ó 5)

Lanzamiento de un dado

• Buscamos la función a través de R

• Ésta se ejecuta sin parámetros, ya que inicializamos tiros = 1

Lanzamiento de un dado(5000 veces)

• Esta función simula el lanzamiento de un dado 5000 veces.

• Calcula la probabilidad empírica

• Genera una gráfica con los resultados obtenidos

Lanzamiento de un dado(5000 veces)

LANZAMIENTO DE UN DADO(VARIAS VECES)

Lanzamiento de un dado(varias veces)

• Esta función simula el lanzamiento de un dado la cantidad de veces indicada a través de su parámetro.

• Calcula la probabilidad empírica• Genera una gráfica con los resultados obtenidos

20 veces

200 veces

2,000 veces

20,000 veces

top related