Post on 20-Jul-2015
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 (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
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)
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.
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éticostoman los valores numéricos(literales o variables) como susoperando y devuelve un solovalor numérico. Losoperadores básicos en R seclasifican 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~’ equiv
aldrí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 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.
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