lenguaje de programacion r

32
ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO FACULTAD DE CIENCIAS ESCUELA DE FISICA Y MATEMATICAS INGENIERIA EN ESTADISTICA INFORMATICA NOMBRE: Shirley Armas INGENIERA: Lourdes Paredes FECHA: 20/01/2015

Upload: shirley-armas

Post on 20-Jul-2015

434 views

Category:

Education


4 download

TRANSCRIPT

Page 1: LENGUAJE DE PROGRAMACION R

ESCUELA SUPERIOR POLITECNICA DE

CHIMBORAZO

FACULTAD DE CIENCIAS

ESCUELA DE FISICA Y MATEMATICAS

INGENIERIA EN ESTADISTICA INFORMATICA

NOMBRE: Shirley Armas

INGENIERA: Lourdes Paredes

FECHA: 20/01/2015

Page 2: LENGUAJE DE PROGRAMACION R

TEMA:

LENGUAJES DE PROGRAMACION R

ORIENTADOS A LA ESTADISTICA

Page 3: LENGUAJE DE PROGRAMACION R

OBJETIVOS

OBJETIVO PRINCIPAL

Conocer todo lo relacionado al lenguaje de programación R

OBJETIVOS ESPECIFICOS

Reconocer todas las funciones que ofrece el lenguaje

Indagar sobre el tema , para comprender su funcionamiento y

propósito

Mediante la investigación adquirir conocimientos básicos sobre R

Page 4: LENGUAJE DE PROGRAMACION R

INTRODUCCION

El término “entorno” lo caracteriza como un sistema

completamente diseñado y coherente, antes que como una

agregación incremental de herramientas muy especificas e

inflexibles, como ocurre frecuentemente con otros programas

de análisis de datos. R es en gran parte un vehículo para el

desarrollo de nuevos métodos de análisis interactivo de datos.

Como tal es muy dinámico y las diferentes versiones no siempre

son totalmente compatibles con las anteriores. Algunos

usuarios prefieren los cambios debido a los nuevos métodos y

tecnología que los acompañan, a otros sin embargo les

molesta ya que algún código anterior deja de funcionar.

Aunque R puede entenderse como un lenguaje de

programación, los programas escritos en R deben considerarse

esencialmente efímeros.

Page 5: LENGUAJE DE PROGRAMACION R

ESTRUCTURA

Page 6: LENGUAJE DE PROGRAMACION R

QUE ES ?

R es un lenguaje de

programación estadística

desarrollado por Ihaka y

Gentelmen en 1997.

Toma como base las

características del

software comercial S-

PLUS.

R es de código abierto

y de distribución

gratuita

R es un lenguaje de

programación orientado

a objetos, a los cuales se

les asigna una serie de

características.

Page 7: LENGUAJE DE PROGRAMACION R

HISTORIA

R es una implementación open-

source del lenguaje S (Bell Labs -

principios de los 90), que también es

la base del sistema S-Plus (entornocomercial). R y S-Plus aún

comparten una gran mayoría de

código e instrucciones, pero

probablemente serán dos entornos

independientes en un futuro amedio plazo.

R dispone de una comunidad de

desarrolladores/usuarios detrás que se dedican constantemente a la

mejora y a la ampliación de las funcionalidades y

capacidades del programa. Nosotros mismos podemos ser desarrolladores de R

R se ejecuta exclusivamente mediante el envío de instrucciones en la línea de comandos: curva de aprendizaje más

lenta, aunque más versatilidad

S-Plus es más "amigable": funcionalidad por menús

(limitada)

Precio: R gratuito, S-Plus comercial

Page 8: LENGUAJE DE PROGRAMACION R

CARACTERISTICAS

almacenamiento y manipulación efectiva de datos,

operadores para calculo sobre variables indexadas (Array),

en particular matrices,

una amplia, coherente e integrada colección de

herramientas para análisis de datos,

posibilidades graficas para análisis de datos, que funcionan

directamente sobre pantalla o impresora, y un lenguaje de

programación bien desarrollado, simple y efectivo, que

incluye condicionales, ciclos, funciones recursivas yposibilidad de entradas y salidas. (Debe destacarse que

muchas de las funciones suministradas con el sistema están

escritas en el lenguaje R)

Page 9: LENGUAJE DE PROGRAMACION R

REGLAS SINTACTICAS

R TIENE REGLAS SINTÁCTICAS:

Distingue entre mayúsculas y minúsculas

El símbolo > aparece antes de recibir cualquier instrucción. Si lo que se muestra es unresultado, no aparece.

La tecla Enter, cambia de línea y nos muestra los resultados de la línea anterior.

El símbolo # comenta lo que se escriba a continuación.

Si un comando es correcto sintácticamente, pero falta algo para terminarlo, aparece unsímbolo + en la siguiente línea.

Para escribir varias instrucciones en la misma línea se separan con ;.

La asignación se realiza con los símbolos <- ó =, la igualdad también se usa con otrosobjetivos, luego es recomendable usar el símbolo <-.

Para agrupar un conjunto de instrucciones usaremos {}.

La flecha hacia arriba del teclado nos permite acceder al historial de instrucciones.

El tabulador completa la instrucción.

Page 10: LENGUAJE DE PROGRAMACION R

ESTADISTICA CON R

En la introducción a R no se ha mencionado la

palabra estadística, sin embargo muchas

personas utilizan R como un sistema estadístico.

Nosotros preferimos describirlo como un

entorno en el que se han implementado muchas

técnicas estadísticas, tanto clásicas como

modernas. Algunas están incluidas en el entorno

base de R y otras se acompañan en

forma de bibliotecas (packages). El hecho de

distinguir entre ambos conceptos es

fundamentalmente

una cuestión histórica.

Page 11: LENGUAJE DE PROGRAMACION R

VENTAJAS

Es un programa de

código abierto y

gratuito

Capacidad de

análisis de datos

Puede ser instalado en

diversos sistemas

operativos: IOS de

MAC, Linux o Windows

Realiza cálculo

estadístico

Elabora gráficos de

calidad (dependiendo

del cálculo realizado)

Necesita tener

ordenados los

datos en

carpetas

Los archivos pueden ser

guardados en varios formatos

(jpg,png, bmp, ps, pdf, emf,

pictex, xfig, dependiendo del

sistema operativo) Permite

importar y exportar archivos

Page 12: LENGUAJE DE PROGRAMACION R

DESVENTAJAS

Interfaz poco

amigable

Inglés (aunque permite

elegir el idioma para la

instalación)

Utiliza una sintaxis exigente (comandos)

No proporciona pistas

sobre los errores que

suceden

Es necesario tener

conocimiento de

estadística y

programación o No

presenta un interfaz

gráfico (lineal)

Page 13: LENGUAJE DE PROGRAMACION R

OPERADORES:OPERADORES ARITMETICOS

Los operadores aritméticostoman los valores numéricos(literales o variables) como susoperando y devuelve un solovalor numérico. Losoperadores básicos en R seclasifican en :

Page 14: LENGUAJE DE PROGRAMACION R

OPERADORES LOGICOS

Los operadores lógicos nos

proporcionan un resultado a partir

de que se cumpla o no una cierta

condición. Esto genera una serie de

valores que, en los casos más

sencillos, pueden ser

parametrizados con los valores

numéricos 0 y 1

Page 15: LENGUAJE DE PROGRAMACION R

OBJETOS EN R

A continuación se realiza una descripción somera

de los tipos de objetos disponibles en el lenguaje

de programación R, que puede ser útil para

interpretar la información que presentan las salidas

de Rcommander.

1. Tipos básicos

Los tipos de valores básicos en R son: lógicos

(booleanos), numéricos y cadenas de caracteres

Asignación

La asignación de valores a objetos se

realiza mediante los operadores “<-”

o “=” (no confundir con el

comparador de igualdad “==”). El

nombre del objeto puede contener

“.” y “_”:

> a <- 8.5

Page 16: LENGUAJE DE PROGRAMACION R

Lógicos Las constantes lógicas

son TRUE (verdadero)

y FALSE (falso). Téngase en

cuenta que, en los ejemplos, el

símbolo > al principio de una

orden es el inductor de la

consola de R.

Números Las constantes

numéricas adoptan la

notación habitual en

informática: punto

decimal, notación

exponencial o científica...

Caracteres Las cadenas pueden

delimitarse por comillas

(~nombre~) o por apóstrofos

(’nombre’), lo cual puede

aprovecharse para incluir

cómodamente comillas en la

cadena sin necesidad

de escaparlas mediante una

retrobarra;

así, ’Lo llamaban ~Trinidad~’ equiv

aldría a ~Lollamaban \~Trinidad\~

Page 17: LENGUAJE DE PROGRAMACION R

Tipos compuestos

Hasta ahora los valores considerados

son simples; podrían

llamarse átomos o escalares. En R hay

también estructuras compuestas,

entre las que veremos los vectores, los

factores, las matrices, las listas y los

dataframes.

Vectores Podemos crear un vector mediante la función c,

que concatena:

> b <- c(1, 2, 3, 10)

Los escalares en R son siempre vectores de longitud 1, así

que la asignación de a en la sección anterior es

equivalente a:

> a <- c(8.5)

Toda la aritmética en R (así como muchas de sus

funciones) es vectorial. Por ejemplo, se pueden sumar

vectores (aunque no sean de la misma longitud):

> a + b

[1] 9.5 10.5 11.5 18.5

El [1] que aparece al comienzo del renglón es una ayuda

para localizar posiciones en vectores largos:

> 10:50

[1] 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2

9 30 31 32

[24] 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

Así, el 32 ocupa la posición vigesimotercera.

Page 18: LENGUAJE DE PROGRAMACION R

Factores Las variables estadísticas cuantitativas

se representan en R mediante vectores

numéricos; por ejemplo, al aplicar la

orden summary (resumen estadístico) al vector

definido en el epígrafe anterior se obtiene:

> summary(bab)

Min. 1st Qu. Median Mean 3rd Qu. Max.

1.0 2.0 3.0 4.5 8.5 10.0

Por su parte, las variables estadísticas cualitativas

se representan en R mediante factores. Un factor

es un vector al que se asocia un vector de

niveles o modalidades (que son cadenas de

texto). La recopilación de los niveles puede

ocurrir automáticamente (por ejemplo, al crear

un dataframe) o puede forzarse mediante la

orden factor. Por ejemplo:

> mi.vector <-

c(~varón~, ~mujer~, ~mujer~, ~varón~, ~varón~)

> summary(mi.vector)

Length Class Mode

5 character character

> mi.factor <- factor(mi.vector)

> mi.factor

[1] varón mujer mujer varón varón

Levels: mujer varón

> summary(mi.factor)

mujer varón

2 3

Page 19: LENGUAJE DE PROGRAMACION R

Matrices Una matriz es la versión bidimensional de un vector.

Se puede crear una matriz a partir de un vector datos, con la

orden matrix:

> m <- matrix(1:6, nrow = 2)

> m

[,1] [,2] [,3]

[1,] 1 3 5

[2,] 2 4 6

> m <- matrix(1:6, nrow = 2, byrow = T)

> m

[,1] [,2] [,3]

[1,] 1 2 3

[2,] 4 5 6

Page 20: LENGUAJE DE PROGRAMACION R

Arrayes Un array (o tensor) es la

generalización de una matriz de dos

dimensiones al caso multidimensional.

Se pueden crear a partir de vectores

(como las matrices con matrix) usando

la orden array, cuyo primer argumento

es un vector de datos y, el segundo, un

vector de dimensiones. Los comandos

para manejar arrayes son similares a los

que manejan matrices.

> x <- array (c (45,46,65,55,170,167,48,49,68,56,169,165), c (2,3,2)) > dimnames (x) <- list (c (~varones~, ~mujeres~), + c (~edad~, ~peso~, ~altura~), + c (~Villarriba~, ~Villabajo~)) > x, , Villarriba

edad peso altura varones 45 65 170 mujeres 46 55 167

, , Villabajo

edad peso altura varones 48 68 169 mujeres 49 56 165> x[~mujeres~,,] # Datos de todas las mujeres

Villarriba Villabajo edad 46 49 peso 55 56 altura 167 165> x[,~altura~,] # Todas las alturas

Villarriba Villabajo varones 170 169 mujeres 167 165> x[,,~Villabajo~] # Datos para la población ~Villabajo~

edad peso altura varones 48 68 169 mujeres 49 56 165

Page 21: LENGUAJE DE PROGRAMACION R

Dataframes Los dataframes son un tipo de

lista que sirve para generalizar a las matrices,

en el sentido de que las columnas (que a

menudo representan variables estadísticas)

pueden ser de tipos diferentes (unas

numéricas y otras factores, por ejemplo); sin

embargo, todos los elementos de una misma

columna deben ser del mismo tipo. Al igual

que las columnas de una matriz, todas las

columnas de un dataframe deben ser de la

misma longitud; lo mismo pasa con las filas.

Por tanto, a un dataframe se le pueden

aplicar los operadores de listas y los de

matrices. Es la estructura esencial para

guardar valores de variables estadísticas:

> d <-

data.frame(v1 = c(2, 4, 8, 9), v2 = c(~v~, ~v~, ~m~,

+ ~m~))

> d

v1 v2

1 2 v

2 4 v

3 8 m

4 9 m

> d[2, 1]

[1] 4

> d[1, ]

v1 v2

1 2 v

> d[, 2]

[1] v v m m

Levels: m v

> d$v1

[1] 2 4 8 9

Page 22: LENGUAJE DE PROGRAMACION R

Funciones Un objeto de R también puede almacenar una

función:

> f <- function(x) x^2

que puede usarse como argumento de otras funciones:

> sapply(5:10, f)

[1] 25 36 49 64 81 100

> sapply(5:10, sqrt)

[1] 2.236068 2.449490 2.645751 2.828427 3.000000 3.162278

al igual que las funciones predefinidas de R, como sqrt (raíz

cuadrada). Como se ve, la función sapply aplica una función a

cada elemento de un vector (o lista), y devuelve un vector (o

lista) de resultados.

A partir de aquí se incluye una serie de tablas que contienen

muchas de las funciones más habituales en R.

Page 23: LENGUAJE DE PROGRAMACION R

FUNCIONES EN R

Cada funcion en R tiene una tarea especifica que permite al usuario realizar lo que necesite. El numero de funciones disponibles en R es demasiado grande para ser listado en este documento. Se pueden encontrar todas las funciones matematicas simples ( ´ log, exp, log10, log2,sin, cos, tan, asin, acos, atan, abs, sqrt, . . . ), funciones especiales (gamma, digamma,beta, besselI, . . . ), as´ı como diversas funciones u´tiles en estadística. Algunas de estas funciones se detallan en la siguiente tabla.

Page 24: LENGUAJE DE PROGRAMACION R

Estas funciones devuelven un solo valor (o un vector de longitud 1), a excepcion de ´ range() que

retorna un vector de longitud 2, y var(), cov(), y cor() que pueden devolver matrices.

Las siguientes funciones pueden devolver vectores mas complejos:

Page 25: LENGUAJE DE PROGRAMACION R

FUNCIONES GRAFICAS EN R

La tabla a continuación resume algunas de las funciones graficas en R.

Page 26: LENGUAJE DE PROGRAMACION R
Page 27: LENGUAJE DE PROGRAMACION R
Page 28: LENGUAJE DE PROGRAMACION R
Page 29: LENGUAJE DE PROGRAMACION R

EJEMPLO

Las primeras tres líneas generan una muestra aleatoria

tomada de una distribución normal, ´

la cual es submuestras de tamaño 5, 10, 15, . . . , y 45.

Después viene la llamada a la funcion

densityplot() lo que produce una grafica para cada

sub-muestra. el panel toma una función´

como argumento. En este ejemplo, hemos definido una

funcion que llama a otras dos funciones ´

predefinidas en lattice: panel.densityplot que dibuja la

funcion de densidad empırica, y

panel.mathdensity que dibuja la funcion de densidad

teórica asumiendo una distribución

normal. La funcion´ panel.densityplot es llamada por

defecto si no se especifica ningún

argumento en panel: el comando densityplot(˜x | y)

hubiera dado como resultado la

misma

Page 30: LENGUAJE DE PROGRAMACION R

CONCLUSIONES

El lenguaje de programación R es un lenguaje potente con un

gran objetivo orientado a la estadística es por eso que si nos

profundizamos en el podremos conocerlo y analizarlo mas, para asi poder aplicarlo en nuestra carrera.

RECOMENDACIONES

Revisar la interfaz grafica del programa para asi poder

conocerlo y poder compartir opiniones y experiencias en clases , interactuando entre compañeros e ingeniero.

Page 31: LENGUAJE DE PROGRAMACION R

BIBLIOGRAFIA

http://cran.r-project.org/doc/contrib/R-intro-1.1.0-espanol.1.pdf

http://areaestadistica.uclm.es/events/Sesion1/Sesion1.html

http://www.ecured.cu/index.php/Lenguaje_de_programaci%C3

%B3n_R

http://www.slideshare.net/ccccarlos/leccin-2-uso-de-operadores-en-r

http://www.uv.es/conesa/CursoR/material/handout-sesion2.pdf

http://uce.uniovi.es/CURSOICE/Informese6.html

Page 32: LENGUAJE DE PROGRAMACION R