LENGUAJE DE PROGRAMACION R

Shirestefa 5,976 views 32 slides Jan 21, 2015
Slide 1
Slide 1 of 32
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32

About This Presentation

El presente trabajo muestra una introductorio a todo lo relacionado con el lenguaje de programación R


Slide Content

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

TEMA: LENGUAJES DE PROGRAMACION R ORIENTADOS A LA ESTADISTICA

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

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.

ESTRUCTURA

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.

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 (entorno comercial ). 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 a medio plazo.

CARACTERISTICA S 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 y posibilidad de entradas y salidas. ( Debe destacarse que muchas de las funciones suministradas con el sistema están escritas en el lenguaje 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 un resultado, 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 un sí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 otros objetivos, 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.

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.

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

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)

OPERADORES: OPERADORES aritmeticos Los operadores aritméticos toman los valores numéricos (literales o variables) como sus operando y devuelve un solo valor numérico. Los operadores básicos en R se clasifican en :

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

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  

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~ ’ equivaldría a  ~Lollamaban   \~Trinidad\~

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 29 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.

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

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

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

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

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.

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 .

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:

FUNCIONES GRAFICAS EN R La tabla a continuación resume algunas de las funciones graficas en 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

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.

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
Tags