21.11.15

Gráficos: Función plot()

Gráficos: Función plot()

Hoy veremos la utilización de la función plot(), esta es la función principal para generar gráficos en R. Con esta función podemos crear gráficos de barras, de dispersión, de cajas y matrices de dispersión. Por la facilidad de generar numerosos tipos de gráficos, es la más utilizada del sistema base.

La función consta de varios argumentos:
plot(x, y, type, main, sub, xlab, ylab, asp, ...)
   donde
x, y: coordenadas de los puntos
type: tipo de gráfico a dibujar; puntos (p), lineas (l), ambas (b), lineas sin puntos (c), lineas y puntos sobrepuestos (o), en forma de histograma (h), por pasos (s y S) y sin gráfico (n).
main: título
sub: subtítulo
xlab: etiqueta en x
ylab: etiqueta en y
asp: relación de aspecto x/y
. . . : otros argumentos de gráficos

La creación del tipo de gráfico, dependerá de los datos (numéricas o categóricas)


  • Para la generación de gráficos de barras, se utiliza una sola variable y esta debe tipo factor.

> x<-c(rep("Niños",10),rep("Jueveniles",20),rep("Adultos",15),rep("Ancianos",30))
> edad<-as.factor(X)
> edad

18.11.15

Gráficos en R

Gráficos en R

Una de las cosas fuertes que tiene R comparado con otro software estadístico, es un sistema de gráficos muy potente y robusto. Las funciones gráficas, no son un objeto como las matrices, vectores  o listas. Así que cuando se realiza una función gráfica automáticamente es enviada a un dispositivo gráfico, este dispositivo puede ser una ventana o un archivo.

Existen tres tipos de sistemas gráficos en R:

  1. El sistema base: Es el sistema original de R, y es como un lienzo en blanco, que a partir de una función simple, podemos agregarle tamaños, colores, líneas, puntos, ejes, etc. 
  2. El sistema Lattice: el cual es un paquete, donde se crea la gráfica a partir de una sola línea de código, es muy intuitivo y es muy utilizado para datos multivariantes. 
  3. El sistema ggplot2: es un paquete que utiliza ideas tanto del sistema Base como de Lattice. Es muy potente y muy predictivo

16.11.15

Importar Desde Internet

Importar Desde Internet

Hola continuamos con la importación de archivos al entorno de R. Una de las cualidades mejor desarrolladas en R que otros programas estadísticos, es la posibilidad de conectarse directamente a páginas en la red y descargar la información.
Las organizaciones gubernamentales o no gubernamentales generan una gran cantidad de información disponibles para toda persona que quiera accederla. Por ejemplo datos del gobierno de diferentes países como Estados Unidos, de España o de México.


11.11.15

Importar Desde Excel

Importar Desde Excel

Hola continuamos con la importación de archivos al entorno de R. La menara común de tener nuestros datos, es en archivos con extensión .xlsx de Excel. Y se nos dificulta convertirlo en otro formato para que R pueda leerlos.


Para leer archivos de este tipo necesitamos instalar un paquete llamado xlsx, una vez instalado lo activaremos, si marca un error es por necesitamos actualiza JAVA para nuestro sistema operativo (32 o 64 bits). La función que ocupamos para leer los archivos es read.xlsx(): en donde especificaremos la dirección y nombre del archivo, con el argumento sheetIndex determinaremos de que hoja tomara los datos y si presenta encabezados o no, principalmente.
> excelData<-read.xlsx("PrecioCasa.xlsx",sheetIndex=1,header=T)
> head(excelData)

9.11.15

Importar Desde Texto

Importar Desde Textos

Hola esta vez vamos a ver como importar datos al entorno de R, esto con la finalidad de poder analizar nuestros datos, hacer cálculos estadísticos y crear gráficos de estos. La primera forma de importar datos es por medio de archivos tipo texto (.txt) y archivos separados por comas (.csv).

Los archivos con extensión .txt pueden estar separados por espacios, por comas, por punto y coma (;) o por tabulación. Necesitamos conocer como esta separado, ademas si cada columna tiene un encabezado o no, el tipo de comillas que tiene (" ",' ') y si presenta valores perdidos.
Por ejemplo aqui vemos dos documentos tipo .txt, el primero es un documento separado con comas y el segundo es separado por tabulaciones.


La función que se utiliza es read.table(), la estructura de los datos determinaran los argumentos que vamos a especificar en el código. Pero antes de importar los datos, el archivo tiene que estar en el directorio de trabajo, si no esta el archivo en el directorio tenemos que especificar la dirección del archivo, mover el archivo o cambiar nuestro directorio de trabajo.

8.11.15

Indexación

Indexación

La indexación es la selección de subconjuntos de datos de un vector o de datos estructurales, para esto se utilizan los operadores de selección [ ], [[ ]] y $. Es un poco diferente para cada uno objeto, y existen básicamente tres tipos de indexación: por vector lógico, por números enteros y selección negativa.



Vectores: aquí solamente especificamos la posición del o los datos que queremos seleccionar con un solo valor.
> data<--5:5         # creamos vector de -5 a 5
> data
[1] -5 -4 -3 -2 -1  0  1  2  3  4  5
> data[2]            # selección del valor en la segunda posición
[1] -4
> data[c(1,3,5,10)]  # selección en la posición 1, 3, 5 y 10
[1] -5 -3 -1  4
> data[-1]           # no seleccionar primer valor
[1] -4 -3 -2 -1  0  1  2  3  4  5
> data[c(-3:-6)]     #  no seleccionar del tercero al sexto valor
[1] -5 -4  1  2  3  4  5
> data[data<0]       # seleccionar los valores menor a 0
[1] -5 -4 -3 -2 -1
> data[data>=0]      ## seleccionar los valores mayor igual a 0
[1] 0 1 2 3 4 5

Listas

Listas

Hoy vamos a ver las listas, los elementos de las listas pueden ser objetos de cualquier clase (numérica, carácter, lógica, etc.) y de cualquier estructura (matrices, dataframe, array, etc.), incluso pueden contener otras listas. Así las listas se pueden considerar como un almacén de objetos, y cada objeto esta enumerado y ordenado, para su acceso.


Para la creación de listas se ocupa la función list(),  utilizando vectores o datos estructurales para conformar los objetos internos, escribiendo el nombre de cada uno.
> edad<-round(rnorm(10,40,10))
> sexo<-gl(2,3,10,labels = c("M","H"))
> SS<-rep(c(F,T),5)
> Listas<-list(Edad=edad,Sexo=sexo,SeguroSocial=SS)
> Listas
$Edad
 [1] 28 40 41 53 21 39 26 39 40 33
 
$Sexo
 [1] M M M H H H M M M H
Levels: M H
 
$SeguroSocial
 [1] FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE FALSE  TRUE

7.11.15

Series de tiempo

Series de Tiempo

Hola continuamos con los objetos, hoy veremos las Series de Tiempo. son vectores de tiempo dimensional porque combina dos componentes: los datos (un vector o una matriz con valores numéricos) y las fechas de los datos, y son de una clase básica, estas series de tiempo se crean con la función ts().
Una serie de tiempo es una secuencia de números recogidos en intervalos regulares durante un periodo de tiempo.

Con la función ts() escribimos primero los datos, despues definimos la frecuencia, esto es que cada valores representara un tiempo en el intervalo, por ejemplo si colocamos doce cada valores representara un mes o si colocamos cuatro cada valor representara un cuarto del año.
> ts(1:10,start = 2000) 

Factores

Factores

Hola continuamos con los objetos, hoy veremos los factores. Los factores, son vectores unidimensional que incluye los valores correspondientes a una variable categórica, pero también los diferentes niveles posibles de esta variable, por ejemplo la variable sexo que incluye hombre y mujer o la variable tipo de sangre que incluye los tipos A, B, AB y O.

Hay dos formas de hacer factores, la primera es usar la función gl(), en donde especificamos el numero de niveles, el numero de repeticiones y el numero total de datos respectivamente, y  con el argumento labels se especifica el nombre de los niveles.
> edades<-gl(4,5,15,labels=c("Niños","Jovenes","Adulto","Anciano"))
> edades
 [1] Niños   Niños   Niños   Niños   Niños   Jovenes Jovenes Jovenes Jovenes Jovenes
[11] Adulto  Adulto  Adulto  Adulto  Adulto 
Levels: Niños Jovenes Adulto Anciano

6.11.15

Dataframes

Data Frames

Hola continuamos con los objetos, hoy veremos los data frames, también conocidos como tablas de datos o marco de datos, se utilizara "data frame" porque su traducción puede producir confusión.

Los dataframes son vectores dimensionales, y pueden de dos o más clases, esto es que cada columna  pueden ser de diferente clase. Esta característica las hace las más utilizadas para estructurar datos para su análisis, por ejemplo en el contexto científico muchos de los experimentos cosiste en medir diferentes variables tanto cualitativas como cuantitativas, poder utilizar estos diferentes datos hace posible análisis más robusto y completo.


La función que se utiliza es data.frame(), en el cual podemos colocar datos o vectores para crear el data frame.
> edad<-round(rnorm(10,50,10))
> sexo<-rep(c("H","M"),5)
> sueldo<-round(rnorm(10,10000,100),2)
> data<-data.frame(edad,sexo,sueldo)
> data

5.11.15

Arrays

Arrays

Hola seguimos viendo los objetos de R, hoy veremos los arrays su traducción al español es variables indexadas o también puede traducirse como tabla o matriz. Se utilizara el término inglés   “Array” dado que su traducción puede producir confusión, además de que se utiliza comúnmente sin traducción.

Un array es un vector con dos o más dimensiones, de una clase básica. Podemos decir que un array está conformada por una o mas matrices.
Para hacer un array, se utiliza la función con el mismo nombre y especificando la multidimensionalidad.
> array(rpois(60,10),dim=c(5,6,2)) 
, , 1
 
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]   11   12   15   10    9   11
[2,]   15   13    9    9    5    5
[3,]    7    8   10   21    9   10
[4,]    9    8    8   12    9   14
[5,]   11   14   14    6   14   18
 
, , 2
 
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]   11    8    6    3   13   11
[2,]   11    7   11   13   15   10
[3,]   11    8    8   10   12    9
[4,]    5   10   14    6    9   14
[5,]   10    9    6    7    9   11

Matrices

Creación de Matrices

Las matrices son objetos estructurales con una colección datos en una disposición rectangular, tienen dos dimensiones y son de una clase. 

Es común almacenar los datos en matrices. podemos crear matrices con diferentes funciones
Con la función de dimensión llamada dim(), que crea una matriz a partir de un vector
> a<-21:30               # creamos el vector
> a
 [1] 21 22 23 24 25 26 27 28 29 30
> dim(a)<-c(2,5)         # dim() el 2 número de filas y el 3 numero de columnas
> a                      # a cambia de un vector a una matriz 2x5
     [,1] [,2] [,3] [,4] [,5]
[1,]   21   23   25   27   29
[2,]   22   24   26   28   30

Vectores

Vectores

Hola siguiendo con la sintaxis hoy veremos los vectores. Definiremos vector a un conjunto de elementos de un solo tipo de dato elemental o básico.

Para la creación de vectores hay que tener en cuenta que R reconoce entre mayúsculas y minúsculas: POR EJEMPLO los vectores edad, Edad, EDAD, EdAd, R los tomara como vectores diferentes.
Para la creación de vectores ocupamos los operadores de asignación que vimos anteriormente
> a<-1:4
> a
[1] 1 2 3 4
> b<-c(F,T,F,T,T)
> b
[1] FALSE  TRUE FALSE  TRUE  TRUE
> c<-c("daniel","pedro","maria")
> c
[1] "daniel" "pedro"  "maria" 

4.11.15

Operadores

Operadores

Seguimos viendo la sintaxis de R, ahora vamos a ver a los operadores
Los operadores: son símbolos matemáticos que indican que se pueden llevar a cabo una operación específica o también se les denominan funciones en donde se utilizan uno o dos argumentos sin la utilización de paréntesis.
Existen diferentes tipos de operadores como son los aritméticos, los lógicos, los de asignación, los relacionales, los de selección, entre otros. Vamos a ver los principales

  • Operadores Aritméticos: son los signos de las operaciones básicas la adición, sustracción, multiplicación, división, potencia.
    > 2+4
    [1] 6
    > 3-2
    [1] 1
    > 2*5
    [1] 10
    > 3^2
    [1] 9
    > 3**2    # otra forma de potencia
    [1] 9
    > 3%/%2  # división de números enteros
    [1] 1

Clases básicas

Clases Básicas o Atómicas

Anteriormente definimos la sintaxis y semántica de R, también comentamos que los objetos están formados por cinco clases básicas, en esta ocasión hablaremos sobre estas clases


Empezamos con la clase numérica o doble: es el más común, representan números continuos como el peso o la altura de una persona. Por ejemplo podemos el tipo de clase con al función typeof(), así escribimos:
> typeof(10.5)
[1] "double"
> typeof(54)
[1] "double"
La clase tipo Entero o Integer: son los números naturales, que se usan para contar elementos de un conjunto, como contar manzanas, personas o gatos. Algo interesante en R, es que cualquier número va hacer tipo numérico, y para indicarle a R  que es un numero entero se utiliza la función as.integer()Por ejemplo al escribir la función  typeof(), el resultado sera un numero doble, pero utilizando la función as.integer() dará como resultado un numero entero.
> typeof(10)
[1] "double"
> typeof(as.integer(10))
[1] "integer"

Sintaxis de R

Sintaxis de R

Cualquier lenguaje de programación se componen de dos cosas fundamentales la sintaxis y la semántica:

  • La sintaxis define la forma correcta de escribir las sentencias y los datos de cualquier programa, especificando el orden y disposición adecuada.
  • La semántica define el significado de las sentencias y los datos que han sido correctamente escritos.
Así se puede decir que la sintaxis es el conjunto de letras o palabras y la semántica es el que le da un significado a estas palabras.

La sintaxis en R es muy similar a la de otros lenguajes de programación como JAVA o C. Las normas básicas que definen la sintaxis de R son:

  • No se tienen en cuenta los espacios en blancos: podemos o no dejar espacios para que el código se puede ordenar de forma adecuada y poder entenderse.
  • Se distinguen las mayúsculas y minúsculas: para variables en el código, podemos crear diferentes variables con nombres iguales pero alternando mayúsculas y minúsculas.
  • Se pueden incluir comentarios: como vimos anteriormente los comentarios se utilizan para añadir información en el código.
  • No es necesario terminar cada sentencia con el carácter de punto y coma (;): en la mayoría de lenguajes de programación, es obligatorio terminar cada sentencia con este carácter. En en cambio R podemos o no terminar de esta forma.
  • Lenguaje orientado a objetos: todo en R son objetos, las variables, datos, funciones y resultados, que se generan en R son objetos estos se modifican o manipulan con operadores o funciones (que a su vez son objetos).

3.11.15

Primeros Pasos en R

Script y Primeros Pasos

Para empezar un script es un editor de código, el cual consta de dos partes, la primera son los comentarios y la segunda es en el código que se ejecuta.

Para abrir un nuevo scrip presionaremos Ctrl+Shift+N, o entramos en nuevo y seleccionamos script, observamos que no solamente hay script, sino también otros archivos como es R Markdown, texto, CC + +, R Swave, HTML, entre otros. Así con R-studio podemos crear varios tipos de archivos así como leerlos.

1.11.15

Instalación de R

Instalación y Entorno R

Ya hemos hablado un poco de R, Hoy instalaremos R  y R-Studio y hablaremos un poco de su entorno.
Para descargar R
  • Primero entramos a la página oficial del proyecto R para Estadística Informática, En esta página nos da la definición de R, “R es un entorno de software libre para calculo y gráficos estadísticos”. Para descargarlo entramos en CRAN que es una Red integral de Archivos de R
  • Seleccionamos el servidor más cerca o podemos seleccionar la primera opción el cual nos disecciona automáticamente al servidor más cercano. 
  • Descargamos para Windows, o el sistema operativo que tengamos.
  • R consta de 3 módulos el primero es el sistema Base que contiene la información básica para realizar los análisis y las gráficas. El segundo modulo es para modificar y editar paquetes que están disponibles y el tercer módulo es para construir paquetes desde 0.
  • Podemos instalar los tres módulos o con solo instalar el modulo base, sera suficiente.

Proceso para descargar R