Sunteți pe pagina 1din 31

Introduccin al uso de en Estadstica descriptiva y

Geoestadstica

Tema
- Introduccin al uso de R
- Obtencin de R
Clase 1

- Tinn R, editor de R
- Caractersticas bsicas
- Utilizacin del paquete Rcmdr

- Introduccin al anlisis exploratorio de datos espaciales con R.


Clase 2

- Ejemplo Anlisis descriptivo de datos espaciales


Introduccin al uso de R
R es un soft muy flexible. Los procedimientos estadsticos estndar se pueden aplicar con slo
utilizar el comando apropiado. Adems, existen multitud de libreras programadas por los usuarios de
todo el mundo para llevar a cabo procedimientos ms especficos. En ltima instancia, podemos
programar nuestros propios procedimientos y aplicaciones.

Los beneficios de utilizar R


R se utiliza como un lenguaje de programacin que permite saber que se hace en cada paso.
Los anlisis que se pueden realizar con R son igualmente de potentes al de cualquier
programa comercial.
Presenta un entorno grfico e alta calidad y capacidad.
Es un programa libre, su par comercial es S-Plus.
El lenguaje de programacin es sencillo.
Tiene la capacidad de combinar, anlisis "empaquetados" (ej., una regresin logstica) con
anlisis especficos para cada situacin.
Tambin tiene la capacidad de manipular y modificar datos y funciones.
Extensiones especficas a reas nuevas (bioinformtica, geoestadstica, modelos grficos).
Un medio de transferencia de tecnologa/conocimiento

Obtencin de R
El sitio web se encuentra en la direccin:
http://www.r-project.org/.

Desde este sitio se debe seleccionar el


CRAN (sitio) desde donde se desea obtener
hacer click en los archivos del programa
CRAN
CRAN - the Comprehensive R Archive
Network
Sitios a Australia; Brasil ; Canad ;
Dinamarca ; Francia ; Hungra, Japn;
Sudfrica; Suiza; Switzerland ; Reino
Unido; EEUU .Los CRAN tienen
distribuciones para Windows 95, 98, ME y 2000 para Intel o MacIntosh y varios Linux. Las
actualizaciones son frecuentes cada 3 meses aproximadamente.

Una vez seleccionado en CRAN, se debe seleccionar la versin (Linux, Mac, Windows...)

En la ventana siguiente aparecen dos


subdirectorios, uno tiene el archivo del
programa (ejecutable) base y el otro el
cdigo fuente contrib.
Para la instalacin del programa necesitamos el archivo base.

hacer click
Windows(95
and later)

hacer click en
base

hacer click
R-2.9.1-
win32.exe

La instalacin bsica contiene paquetes o mdulos con funciones y procedimientos para la


realizacin de grficos, procedimientos estadsticos y utilidades para el manejo de datos como:
base, graphics, stats, utils. Existen muchos paquetes adicionales.
Para adicionar paquetes es necesario seleccionarlos desde un CRAN:
hacer click
Packages

Podemos seleccionar el package (paquete) que deseamos, por ejemplo si queremos agregar el
Rcmdr:

hacer click
Rcmdr

En la pgina de cada paquete vamos a encontrar informacin acerca de:


Versin de R, otros packges adicionales necesarios, datos del autor, el cdigo fuente ( Rcmdr 1.5-
6. tar.gz), el archivo del programa (Rcmdr 1.5-6.zip) y el manual de referencia Rcmdr.
Para agregarlo, podemos hacerlo guardando el archivo en una carpeta especifica en nuestra PC, y
aadirlo desde la consola de R.

Una vez instalado R aparecer, al abrirlo aparecer la siguiente consola:

En el men principal, abrimos Packages e instalamos los packages adicionales siguiendo las
instrucciones de las pantallas.

Tinn R, editor de R

Como veremos ms adelante, las sentencias necesarias para la ejecucin de los distintos
anlisis deben escribirse en la consola de R, pero existen editores externos que facilitan esta tarea,
uno de ellos es el TinnR acrnimo de 'This is not Notepad'. Se trata de un editor de cdigo abierto y
libre. Tiene caractersticas interesantes y est especialmente orientado a R, pero que se puede
utilizar tambin con otros lenguajes de programacin populares.
Tinn-R es un editor para escribir programas en R. No es imprescindible, ya que los programas
se pueden escribir como scripts en el editor que proporciona el propio compilador de R Sin embargo,
Tinn-R facilita notablemente esta tarea.
Una de las caractersticas principales de Tinn-R es el resaltado de sintaxis, que permite una
mayor claridad al escribir cdigo. Por ejemplo, los fragmentos comentados (#) se muestran en color
verde y en cursiva; las palabras reservadas (funciones y parmetros de R, por ejemplo) se muestran
en rojo, azul y fucsia, dependiendo de su tipo; mientras que los valores numricos y las variables
creadas por el usuario se muestran en negro.
Esta caracterstica no slo es para R, sino para varios de los lenguajes de programacin ms
comunes, los cuales tambin puede manejar, como C++, Java, HTML y Python. Este paquete de
distribucin gratuita que se puede obtener en: https://sourceforge.net/projects/tinn-r.
Cmo utilizar el editor Tinn R?
Una vez instalado R y Tinn R, se debe abrir primero Tinn R, y aparecer la siguiente ventana:

Haga click en el icono de R, y la


consola del mismo aparecer debajo.

Abra un documento nuevo


Escriba en este documento los
comandos que desea ejecutar en R y
envelos a la consola de R.
Utilizando estos iconos

Recorriendo con el Mouse los distintos iconos del men se puede obtener informacin sobre los
mismos.
Trabajar con este editor, presenta varias ventajas, como se mencion anteriormente resalta en
colores diferentes la sntesis, los archivos se guardan con extensin txt y son ms simples de
almacenar, cuanta con ayuda de fcil acceso para las distintas funciones, etc.
NOTA: La Instalacin de Tinn_R bajo algunas versiones de Windows XP o Vista, puede tener
algunas incopatibilidades, las distintas opciones para solucionarlas son:
(http://sourceforge.net/forum/forum.php?forum_id=864071)
Caractersticas bsicas

Lenguaje R

R es un lenguaje orientado a objetos. Esto significa que los diferentes objetos a los que se aplican los
comandos de R tienen ciertas caractersticas y atributos. Cada comando reconoce estos atributos y
acta de diferente forma en funcin de ellos. Es decir, el mismo comando aplicado a diferentes tipos
de objetos hace cosas diferentes.

No es necesario predefinir el modo de un objeto, sino que R lo establece de acuerdo con la


asignacin que hagamos. Para asignar el valor 2.3 al objeto x, debemos teclear x <- 2.3. Si ahora
usamos mode(x), R nos dir que x es numeric porque es un nmero. Sin embargo, si escribimos x
<- silla, entonces mode(x) devuelve un caracter (carcter).

Una lista de todos los objetos que se encuentran en la memoria de trabajo se obtiene mediante el
comando ls().

Si se teclea el nombre de un objeto se puede ver su contenido.

Obtencin de ayuda en R

Algunas posibilidades en R para obtener ayuda son:

a.-Tecleando help(nombre de comando) se abre una ventana con informacin sobre un comando
especifico. Pruebe, por ejemplo tipear el siguiente comando: help(mean).

b.- Otro comando muy til es help.search (palabra clave). En este caso obtenemos una lista
de los comandos relacionados con palabra clave. Por ejemplo, teclea help.search(median) y
obtendrs una lista de comandos de R relacionados con la mediana.

c.- Finalmente, una forma de obtener ayuda en formato html consiste en teclear
help.start().

d.- Para conocer como funciona cualquier funcin de R, tipee en la consola principal el signo ? y el
nombre de la funcin. Por ejemplo ? plot( ) nos mostrar como funciona la funcin plot.

Tipos de datos

R trabaja con objetos los cuales tienen nombre, contenido y atributos.

El atributo especifica el tipo de datos representados por el objeto. Para entender la utilidad de estos
atributos, consideremos una variable que toma los valores 1, 2, o 3, tal variable podra ser un
nmero entero, o el cdigo de una variable categrica.
Los resultados de un anlisis estadstico de esta variable no ser el mismo en ambos casos: los
atributos del objeto proporcionan la informacin necesaria. En general, la accin de una funcin
sobre un objeto depende de los atributos de este ltimo.

Todo objeto tiene dos atributos intrnsecos: tipo y longitud.

El tipo se refiere a la clase de los elementos en el objeto; numrico, carcter, complejo, y


lgico (FALSE [Falso] or TRUE [Verdadero]).

La longitud es simplemente el nmero de elementos en el objeto.

Las funciones mode( ) y length( ), reportan el tipo y longitud del objeto.

Ejemplos de distintos objetos R.

varios
objeto tipo Descripcin tipos de
datos?
numrico, alfabtico, una variable en el significado
vector No
complejo o lgico comnmente asumido
factor numrico o
factor una variable categrica. No
alfabtico
numrico, alfabtico
arreglo (array) una tabla de dimensin k. No
complejo o lgico
numrico, alfabtico,
matriz (matrix) un caso particular de un arreglo
complejo o lgico No
donde k = 2.
un (marco o base de datos) es una
tabla compuesta de uno o ms
numrico, alfabtico,
data.frame vectores y/o factores de la misma Si
complejo o lgico
longitud pero que pueden ser de
diferentes tipos
una serie temporal y como tal
ts numrico, alfabtico,
contiene atributos adicionales tales Si
complejo o lgico
como frecuencia y fechas.
numrico, alfabtico puede contener cualquier tipo de
lista (list) Si
complejo, lgico objeto incluyendo otras listas!

Los tipos de objetos ms importantes para nuestros propsitos son: vectores, matrices, listas y
ficheros de datos (data frames). Hay muchos paquetes que definen sus propios objetos, como el
caso de los paquetes para anlisis geoestadisticos.

Vectores y matrices

Si queremos, por ejemplo, que el objeto x contenga el vector (2, 1, 3.6, 5), debemos usar el
comando c (que alude a concatenar) para hacer la siguiente asignacin:

x <- c(2,1,3.6,5).
Una sucesin regular de nmeros se puede obtener de la siguiente forma:

x <- 1:10
x
1 2 3 4 5 6 7 8 9 10
Si queremos cambiar el incremento:

x <- seq(1,10,2)
x
1 3 5 7 9

En el comando seq el primer argumento indica el punto inicial de la sucesin, el segundo el punto
final, y el tercero el incremento.

Es muy fcil generar con R sucesiones de nmeros aleatorios. El programa utiliza funciones de la
forma rdistribucion(n,lista de argumentos) para generar n observaciones de una larga lista de
distribuciones.

Para R, una matriz no es ms que un vector con un atributo adicional que contiene el nmero de filas
y columnas. Por lo tanto una matriz se puede crear a partir de un vector, aadiendo informacin
sobre el nmero de filas y columnas de la matriz. Por ejemplo, el siguiente comando puede utilizarse
para generar aleatoriamente 1000 datos con distribucin normal estndar que, a su vez, forman una
matriz x con dimensin 10 100:

x <- matrix(rnorm(1000),nrow=10,ncol=100)

Si creamos una matriz x y queremos extraer alguno de sus elementos, podemos usar x[i,j], donde (i,
j) son la fila y la columna del elemento. Para extraer la tercera fila de la matriz y guardarla en el
vector y se escribe y <- x[3,], es decir si no especificamos la columna, R entiende que queremos
todas las columnas.

Listas

Las listas son conjuntos heterogneos de objetos, a los que por alguna razn conviene tener juntos y
darles un nombre. Las salidas de muchas funciones que llevan a cabo procedimientos estadsticos
son listas, ya que incluyen resultados numricos, grficos, etc. Para crear una lista llamada
resultados que contenga los objetos x1, x2,... basta utilizar

resultados <- list(x1,x2,...)

Ficheros de datos (Data Frame)

Para leer un fichero de texto fichero.txt en el que se encuentran los datos con los que queremos
trabajar se usa el comando

datos <- read.table(c:\\camino\\fichero.txt,header=T)


Este comando genera un fichero de datos (un objeto del tipo data frame) con el nombre elegido. Las
barras del camino deben de ser dobles. El argumento header se utiliza para indicar si la primera fila
contiene (T) o no (F) los nombres de las variables. Por ejemplo, distintas variables relacionadas con
el nivel de vida y grado de desarrollo de 91 pases del mundo se encuentran en el fichero de texto
paises.txt. Supongamos que el fichero lo tenemos en la carpeta datos en el disco c:.
Entonces, para leer el fichero y almacenarlo en un data frame que tambin llamamos pases, usamos

paises <- read.table(c:\\datos\\paises.txt,header=T)

Funciones Matemticas

Podemos encontrar todas las funciones matemticas, en la siguiente tabla podemos ver algunos
ejemplos.

log(x) logaritmo de base e de x


exp(x) antilogaritmo de x de base e
log(x,n) logaritmo de base n de x
log10(x) logaritmo de base 10 de x
sqrt(x) raiz cuadrada de x
factorial(x) igual a x!
round(x, digits=0) redondea el valor de x a un entero
signif(x, digits=6) igual a x con 6 dgitos en notaciones cientfica
runif(n) genera n nmeros aleatorios entre 0 y 1 para una distribucin
uniforme
cos(x) coseno de x
sin(x) seno de x
abs(x) valor absoluto de x

Utilizacin del paquete Rcmdr

Descripcion Es una plataforma independiente


URL:http://www.r-project.org, http://socserv.socsci.mcmaster.ca/jfox/Misc/Rcmdr/
Detalles
Utilizacin
R Packages Rcmdr

Por defecto la interface R- Comnander consiste de una barra men, una barra de herramientas, una
ventana log/script y una ventana de salida. Los comandos para ingresar, transformar y analizar los
datos estn en la barra de men, en la parte superior de la ventana Commander. Debajo de la barra
de men hay una barra de herramientas (de izquierda a derecha) con informacin sobre el archivo
activo.
La mayora de los comandos requieren que existe un archivo de datos activo.
Los datos pueden ingresarse directamente, o importarse en distinto formatos.

El acceso a las funciones implementadas en R-commander es muy simple y se realiza utilizando el


ratn para seleccionar, dentro del men situado en laprimera lnea de la ventana, la opcin a la que
queramos acceder. Las
opciones son:

- File: para abrir ficheros con instrucciones a ejecutar, o para guardar datos, resultados, sintaxis,
etc.
Edit: las tpicas opciones para cortar, pegar, borrar, etc.
Data: Utilidades para la gestin de datos (creacin de datos, importacin desde otros programas,
recodificacin de variables, etc.)
Statistics: ejecucin de procedimientos propiamente estadsticos
Graphs: grficos
Models: definicin y uso de modelos especficos para el anlisis de datos.
Distribution: probabilidades, cuantiles y grficos de las distribuciones de probabilidad ms
habituales (Normal, t de Student, F de Fisher, binomial, etc.)
Tools: carga de libreras y definicin del entorno.
Help: ayuda sobre R-commander (en ingls).
Introduccin al anlisis exploratorio de datos espaciales con R.

Los datos espaciales consisten en medidas u observaciones tomadas en localizaciones o


regiones especficas. Adems de los valores para varios atributos de inters, los conjuntos de datos
espaciales tambin incluyen las localizaciones o las posiciones relativas de los mismos. El anlisis de
datos espaciales se distingue del anlisis de datos tpico, por la inclusin de la informacin espacial
en modelos y predicciones. Las localizaciones pueden ser puntos o regiones referenciadas, las
mismas pueden caer en una grilla regularmente espaciada, o pueden ser irregulares con distancias
que varan entre los puntos.
Los datos espaciales pueden ser continuos, por ejemplo las medidas del contenido de mineral
en una mina, o discretos, por ejemplo el nmero de los casos de sarampin divulgados por los
municipios.
El anlisis exploratorio de datos espaciales (ADE) tiende a identificar:

1. Presencia de dependencia espacial


2. Existencia de datos fuera de tipo
3. Asimetras, necesidades de transformacin.
4. Tendencias en funcin de las coordenadas o covarianzas.

Visualizacin de datos geostadisticos

Los principales tipos de tcnicas de ADE se basan en

1. Estadstica descriptiva
Medidas de posicin: Mnimo Maximino media, cuantiles
Medidas de dispersin: Varianza y desvo estndar
Medidas de Distribucin de variable: Coeficiente de asimetra, curtosis, coeficiente de variacin
Para datos multivaridos: Correlacin entre variables.

2. Diagramas y grficos
Histogramas: representa la distribucin de frecuencia de los datos.

QQPlot y PPPlot: comparar dos distribuciones; la distribucin experimental cuantil de una variable
con una distribucin terica cuantil o las probabilidades. As funciones que se encuentran
generalmente disponibles son: (Uniforme, Gauss, Lognormal, Gamma, Exponencial)

Grficos de dispersin (Scatter plot): se construye entre 2 variables nos puede dar una idea de la
correlacin entre las mismas, o sealar alguna anomala en el conjunto de datos

H-Grfico de dispersin: Este grafico nos permite analizar la continuidad espacial de una o ms
variables. En el caso univariado, el grafico se construye entre la variable selecciona en una localidad
y ella misma en otra localidad. Dichas ubicaciones estn separadas por una distancia h determinada
a lo largo de una direccin dada.

El software R posee una variada gama de herramientas que son usadas para llevar a cabo el ADE, en
este caso el objetivo es la exploracin y descripcin de datos teniendo en cuenta que el fenmeno se
desarrolla en el espacio. Estas herramientas no se encuentran todas disponibles en un solo paquete y
para acceder a ellas es necesario que dentro de R se encuentren instalados los siguientes paquetes:

akima: Interpolacin de datos irregularmente espaciados.


geoR: Funciones para anlisis de datos geoestadsticos
gstat: Modelamiento geoestadstico, prediccin y simulacin
lattice: Grficos lattices
moments: Momentos, asimetra, kurtosis y pruebas relacionadas
spatial: Funciones para kriging y datos de patrones puntuales
scatterplot3d: Grficos en R3
nortest: diferentes pruebas de hiptesis para la verificacin del supuesto de normalidad

Ejemplo Anlisis descriptivo de datos espaciales

Para desarrollar este ejemplo se utilizar el conjunto de datos aquifer, este contiene alturas de la
cabeza piezomtrica (en pies sobre el nivel del mar) para el Acufero de Wolfcamp al oriente de Texas
[(Cressie, 1989, pg. 212)]. En donde las columnas easting y northing de la hoja de datos son las
localizaciones de los puntos donde se midieron las alturas que corresponden con la columna head.

1) Inicie una sesin de trabajo en R, verifique que se encuentran disponibles los paquetes
mencionados anteriormente.
Para instalar las libreras, podemos usar el comando:

install.packages(nombre_paquete, dependencies = TRUE)

install.packages("akima", dependencies = TRUE)


install.packages("geoR", dependencies = TRUE)
install.packages("gstat", dependencies = TRUE)
install.packages("lattice", dependencies = TRUE)
install.packages("moments", dependencies = TRUE)
install.packages("spatial", dependencies = TRUE)
install.packages("scatterplot3d", dependencies = TRUE)
install.packages("nortest", dependencies = TRUE)

Abrimos R y como primera medida vamos a instalar y cargar las libreras (paquetes) necesarias.

Este comando instala el paquete seleccionado y los paquetes necesarios para su funcionamiento. Hay
que tener cuidado, porque a veces los paquetes requeridos tienen otras dependencias, que no son
cubiertas mediante este procedimiento. Tambin podemos instalarlas desde el disco local si las
hemos bajado desde CRAN, mediante la opcin del men paquetes/ Instalar paquetes a partir de
archivos locales.
Para cargar las libreras y que estn disponibles para nuestro anlisis se utiliza el comando library
(nombre_del_paquete) . En nuestro ejemplo:

library(akima);library(geoR);library(gstat);library(lattice)
library(moments);library(spatial);library(scatterplot3d);library(nortest)
2) Lea y cargue (guarde) el conjunto de datos aquifer.txt

Vamos a utilizar el paquete R Commander, que no es ms que una interfaz grfica para el uso de R.
Cabe aclarar que este paquete fue desarrollado para ser utilizado en la enseanza de R, por lo cual
sus funcionalidades son un poco limitadas. Sin embargo es muy til para empezar a familiarizarse
con los distintos comandos bsicos. El Rcmdr posee un sistema de men muy similar a todos los
programas que se utilizan bajo el entorno operativo.

- Para abrir el Rcmdr podemos utilizar el comando library(Rcmdr) o podemos pedirlo mediante las
opciones de men de la consola de R. (paquetes / Cargar Paquetes / Rcmdr).
Cargamos los datos del archivo de texto aquifer.txt que contiene los datos con los cuales vamos a
trabajar. Para ello en el men de Rcmdr seleccionamos Datos / Importar Datos / Desde archivo de
texto /.
All aparece una ventana donde nos pide que especifiquemos las caractersticas que tiene el archivo a
importar
En nuestro caso vamos a llamar a nuestros
datos aquifer, los datos estan separados por
espacios y el carcter decimal es el punto.
Luego seleccionamos el archivo y los datos ya
se encuentran disponibles para R.

Si observamos la ventana de instrucciones


podemos ver como Rcmdr transformo lo que
elegimos en lenguaje R.

aquifer <- read.table("http://www.teresaboca.com/aquifer.txt", header=TRUE, sep="",


na.strings="NA",
dec=".", strip.white=TRUE)
Cada comando en R tiene distintas opciones, en este caso con header=TRUE le estamos diciendo que
el archivo tiene una fila con los nombres de las variables. Sep indica como estan separados los datos
(en este caso por espacios), na.strings determina que valor se le asigna a los datos faltantes, dec
determina cual es el separador decimal y strip.white permite el despojo de los espacios en blanco
previos y posteriores en los campos de texto (solamente se utiliza si se ha utilizado la opcin SEP).
Para obtener ayuda e informacin sobre los comandos y sus opciones, en Tinn-R se debe seleccionar
el comando y pulsar F1.

3) Visualice los datos

Para visualizar un conjunto de datos cargados basta simplemente con ingresar el nombre que le ha
sido asignado en R. En este caso aquifer

Para saber que tipo de objeto es aquifer y sus caractersticas podemos utilizar la funcin:

str(aquifer)

str(aquifer)
'data.frame': 85 obs. of 3 variables:
$ easting : num 42.78 -27.4 -1.16 -18.62 96.47 ...
$ northing: num 127.6 90.8 84.9 76.5 64.6 ...
$ head : int 1464 2553 2158 2455 1756 1702 1805 1797 1714 1466 ...

4) Obtenga un resumen de estadsticas descriptivas para el conjunto de datos aquifer .

Las estadsticas descriptivas permiten una primera mirada a las caractersticas los datos. Ellas
incluyen maneras simples de buscar datos atpicos y desviaciones de la normalidad. En este caso se
utiliza el comando summary() o numSummary().
Desde RCmdr elegimos el men estadisticos / Resmenes / Resmenes numricos, elegimos una de
las variables, por ejemplo easting y obtenemos la media, el desvo Standard, los cuarteles y el
nmero de datos:

mean sd 0% 25% 50% 75% 100% n


16.8852 64.93981 -145.2365 -21.29791 11.65754 70.90225 112.8045 85

Si observamos el comando de R es el siguiente:

numSummary(aquifer[,"easting"],statistics=c("mean", "sd", "quantiles"),


quantiles=c(0,.25,.5,.75,1))

Otra opcin es el comando summary para lo cual tipeamos en la consola de R:

summary(aquifer)

5) Obtenga un nuevo resumen pero solo para las alturas de la cabeza piezomtrica del
acufero.

Si estamos solamente interesados en obtener las estadsticas descriptivas de una sola variable, solo
hay que agregar el nombre de la variable. Primeramente vemos los nombres de las variables con el
comando names() y luego pedimos el summary de la variable deseada (en este caso, head)

En el paquete moments, existe una funcin que nos permite obtener los momentos deseados solo
poniendo el orden requerido

all.moments( aquifer$head, order.max=4 )

[1] 1.000000e+00 2.002282e+03 4.378474e+06 1.035859e+10 2.620486e+13


# orden cero, media, varianza, simetria, curtosis
6) Utilice las funciones anteriores para generar un resumen de medidas descriptivas para las
alturas de la cabeza piezomtrica del Acufero que incluyan los valores percentiles.

Para calcular los percentiles podemos utilizar una modificacin en las opciones del comando al
comando numSummary().

numSummary(aquifer, statistics=c("mean", "sd", "quantiles"),


quantiles=c(0,.1,.2,.3,.4,.5,.6,.7,.8,.9,1))

mean sd 0% 10% 20% 30%


easting 16.8852 64.93981 -145.23654 -85.09098 -24.46652 -18.52148
northing 79.3611 54.91303 9.41441 21.04251 30.12717 35.22972
head 2002.2824 611.34009 1024.00000 1344.80000 1458.60000 1616.40000
40% 50% 60% 70% 80% 90%
easting -5.615722 11.65754 56.44995 66.26994 80.23743 95.14837
northing 43.014814 59.15785 81.62821 109.87251 139.37300 167.88272
head 1727.400000 1797.00000 2134.00000 2450.40000 2563.00000 2733.20000
100% n
easting 112.8045 85
northing 184.7664 85
head 3571.0000 85

7) Obtenga los grficos descriptivos usuales (grficos de dispersin, histogramas, boxplots y


stemplots) para las cabezas piezomtricas del Acuifero.

La funcin ms elemental para obtener grficos es plot()

?plot()

Description
Generic function for plotting of R objects. For more details about the graphical parameter arguments, see par.
Usage
plot(x, y, ...)
Arguments
x the coordinates of points in the plot. Alternatively, a single plotting structure, function or any R object with a
plot method can be provided.
y the y coordinates of points in the plot, optional if x is an appropriate structure.
... Arguments to be passed to methods, such as graphical parameters (see par). Many methods will accept the
following arguments:
type
what type of plot should be drawn. Possible types are
"p" for points,
"l" for lines,
.
Sera interesante ver cul es el comportamiento de la variable observada en funcin de las
coordenadas:

par(mfrow=c(1,2))
plot(aquifer$easting, aquifer$head, ylab="cabezas piezomtricas", xlab="latitud")
plot(aquifer$northing, aquifer$head, ylab="cabezas piezomtricas", xlab="longitud")
par(mfrow=c(1,1))

3500

3500
3000

3000
cabezas piezometricas

cabezas piezometricas
2500

2500
2000

2000
1500

1500
1000

1000
-150 -100 -50 0 50 100 50 100 150

latitud longitud

Otra forma sencilla de obtener graficos es utilizar el paquete RCmdr, ahi seleccionamos el men
Grficas / Histograma. All podemos seleccionar la variable a analizar, el nmero de clases en que
queremos dividir nuestros datos y el tipo de histograma (de frecuencias, porcentual o de
densidades).

La forma genrica del commando hist est dada por:

Hist(x, scale=c("frequency", "percent", "density"), xlab=deparse(substitute(x)),


ylab=scale, main="", ...)

Hist(aquifer$head, scale="frequency", breaks="Sturges", col="darkgray")

Histogram of aquifer$head
12
Frequency

8
4
0

1000 1500 2000 2500 3000 3500

aquifer$head
En este caso se realiza un histograma de frecuencias, en el cual el nmero de clases es calculado
automticamente utilizando el algoritmo de Sturges. Si queremos definir nosotros el numero de
clases, basta con reemplazar Sturges por el nmero.

Hist(aquifer$head, scale="frequency", breaks=25, col="darkgray")

Igualmente si en vez de obtener las frecuencias nos interesa obtener el histograma porcentual o de
densidades, bastar con reemplazar frecuency por percent o density respectivamente.

Para realizar un boxplot y poder analizar la distribucin de los datos se selecciona Grficas /
Diagramas de Caja.
El comando involucrado es:

boxplot(aquifer$head, ylab="head")

y en forma genrica :

boxplot(x, ..., range = 1.5, width = NULL, varwidth = FALSE,


notch = FALSE, outline = TRUE, names, plot = TRUE,
border = par("fg"), col = NULL, log = "",
pars = list(boxwex = 0.8, staplewex = 0.5, outwex = 0.5),
horizontal = FALSE, add = FALSE, at = NULL)
3500
3000
2500
head

2000
1500
1000

Para agrupar grficos dentro de un mismo device se debe utilizar el comando par(). Por ejemplo el
comando:

par(mfrow=c(2,1)), divide la salida grfica en una matriz de 2 filas y una columna.


Entonces, para observar el histograma de frecuencias y el boxplot de forma simultnea habra que
ingresar los comandos:

par(mfrow=c(2,1))
hist(aquifer$head, scale="frequency", breaks=25, col="darkgray")
boxplot(aquifer$head, ylab="head")

Histogram of aquifer$head
12
Frequency

8
4
0

1000 1500 2000 2500 3000 3500

aquifer$head
3000
head

2000
1000

8) Obtenga los grficos h Scatter-plot para evaluar la continuidad espacial de los datos.

Las relaciones espaciales entre los datos de una variable pueden ser mostradas mediante el
uso de un diagrama de dispersin h, que es la grfica sobre un par de ejes cartesianos de
todos los pares de mediciones (z(xi ), z(xi +h)) de el mismo atributo z en sitios separados por
una distancia |h| y en una direccin particular.

hscat(formula, data, breaks, pch = 3, cex = .6, ...)

formula specifies the dependent variable data where the variable in formula is resolved breaks
distance class boundaries
pch plotting symbol
cex plotting symbol size ... plotting parameters, passed to xyplot
aquifer_sp<-SpatialPoints(aquifer)
hscat((head)~1 ,aquifer_sp, c(10, 20, 100, 120,180))

lagged scatterplots
1000 1500 2000 2500 3000 3500

(100,120] (120,180]
3500

r = 0.967 3000
r = 0.985
2500

2000

1500

1000
(head)

(10,20] (20,100]
3500 r = 0.995

3000
r=1
2500

2000

1500

1000

1000 1500 2000 2500 3000 3500

(head)

9) Realice un anlisis para detectar normalidad

Para evaluar la normalidad de los datos existen mtodos analticos y mtodos grficos. Dentro los
primeros se pueden citar las pruebas de Anderson-Darling y el de Lilliefors (Kolmogorov-Smirnov).
Los comandos a utilizar serian :

ad.test(aquifer$head)

Anderson-Darling normality test


data: aquifer$head
A = 1.6652, p-value = 0.0002620

lillie.test(aquifer$head)

Lilliefors (Kolmogorov-Smirnov) normality test


data: aquifer$head
D = 0.1553, p-value = 2.784e-05

Otra herramienta grfica que permite verificar si el conjunto de datos proviene de una distribucin
normal es el grfico QQ plot, recuerde que este compara los cuantiles de los datos muestrales y los
compara con los cuantiles de la distribucin normal terica con parmetros dados por la media y
desviacin estndar muestral.

qq.plot(aquifer$head, dist= "norm", labels=FALSE)

3500
3000
2500
aquifer$head

2000
1500
1000

-2 -1 0 1 2

norm quantiles

Transformacin de box-cox: Para respuestas y positivas, Box y Cox (1964) propusieron la familia de
transformaciones de potencias con un parmetro desconocido > 0, tal que:
y 1
0 y0
t
ln y 0
se estima de manera que la variable transformada cumpla adecuadamente con los supuestos,
maximizando la funcin de verosimilitud L().

## transformacion de BoxCox
library(MASS); library(TeachingDemos)
boxcox((aquifer$head)~1, lam=seq(-1,1,l=21), plotit=TRUE)
aquifer$head_box<-bct(aquifer$head,0.125)
par(mfrow=c(2,2))
qqnorm(aquifer$head)
qqnorm(aquifer$head_box)
hist(aquifer$head)
hist(aquifer$head_box)
par(mfrow=c(1,1))
shapiro.test(aquifer$head)
shapiro.test(aquifer$head_box)
-730
-731
-732

95%
log-Likelihood

-733
-734
-735

-1.0 -0.5 0.0 0.5 1.0

> shapiro.test(aquifer$head)
Shapiro-Wilk normality test
data: aquifer$head
W = 0.947, p-value = 0.001586

> shapiro.test(aquifer$head_box)
Shapiro-Wilk normality test
data: aquifer$head_box
W = 0.9674, p-value = 0.03023
Normal Q-Q Plot Normal Q-Q Plot

10500
3000
Sample Quantiles

Sample Quantiles

9500
2000

8500
1000

-2 -1 0 1 2 -2 -1 0 1 2

Theoretical Quantiles Theoretical Quantiles

Histogram of aquifer$head Histogram of aquifer$head_box


30

25
25

20
20
Frequency

Frequency

15
15

10
10

5
5
0

1000 2000 3000 4000 8000 9000 10000 11000

aquifer$head aquifer$head_box

Analice
Qu puede decir respecto del supuesto de normalidad para las alturas de la cabeza
piezomtrica del acufero de Wolfcamp?
Se puede observar el efecto de la bimodalidad del conjunto de datos en el grfico?
Existen observaciones atpicas? Son valores altos o bajos?

Las herramientas anteriores permiten analizar las caractersticas de la distribucin del conjunto de
datos. Ahora se puede anexar la informacin espacial a la exploracin. Inicialmente, se ubicarn los
puntos muestrales en las localizaciones donde se realizaron las mediciones.

10) Genere el diagrama de dispersin de las localizaciones de los puntos donde se midieron
las alturas de la cabeza piezomtrica del acufero

plot(x=aquifer$easting, y=aquifer$northing)
150
aquifer$northing

100
50

-150 -100 -50 0 50 100

aquifer$easting

Obsrvese que este grfico slo permite observar la distribucin muestral de los puntos en el
espacio. Ahora bien, si queremos ver la distribucin de los datos de acuerdo a las clases definidas
anteriormente debemos utilizar el comando:

plot(x=aquifer$easting, y=aquifer$northing, type="n")


text(aquifer$easting,aquifer$northing,labels=head.groups,cex=.5)

El parmetro type=n en la funcin plot slo dibuja los ejes con los valores de las coordenadas
easting y northing. La instruccin text ubica cada uno de los labels de las clases generadas con la
funcin cut en cada una de las localizaciones, el parmetro cex=.5 define el tamao del label
dentro del grfico.

Para que R entienda y trate los datos como geoespaciales debe indicrsele mediante el comando
as.geodata del paquete geoR.

aquifer1= as.geodata(aquifer,coords.col=1:2,data.col=3)

El parmetro coords.col=1:2 especfica las columnas de la hoja de datos donde se encuentran las
coordenadas de los puntos muestreados y data.col=3 indica la columna donde estn las mediciones
del (de los) atributos de inters medidos en dichas localizaciones.

10) Distintas opciones para la visualizacin espacial de la base de datos.

points(aquifer1)
200
150
Y Coord

100
50
0

-150 -100 -50 0 50 100

X Coord

points(aquifer1, cex.min=.6, cex.max=.6)


points(aquifer1, cex.min=.3, cex.max=3)
200

200
150

150
Y Coord

Y Coord
100

100
50

50
0

-150 -100 -50 0 50 100 -150 -100 -50 0 50 100

X Coord X Coord

Analice la funcin points y pruebe con estas otras opciones

points(aquifer1, cex.min=1, cex.max=1, pt.div="quart")


points(aquifer1, pt.div="quart")
points(aquifer1, pt.div="dec")
points(aquifer1, cex.min=1, cex.max=1, pt.div="quint")
plot(aquifer1)

200

200
150

150
Y Coord
Y Coord
100

100
50

50
0

0
-150 -100 -50 0 50 100 1000 1500 2000 2500 3000 3500
X Coord data
3500

6e-04
3000
2000 2500

4e-04
Density
data

2e-04
1500
1000

0e+00

-150 -100 -50 0 50 100


X Coord 1000 2000 3000 4000
data

Observe que este genera cuatro grficos, tres de dispersin y el histograma de las alturas de la
cabeza piezomtrica del acufero de Wolfcamp. En cuanto a los diagramas de dispersin, el primero
es el mismo que se realiz al inicio de esta actividad, pero en este caso la clasificacin la genera de
forma automtica R, los otros corresponden al comportamiento de las alturas a travs de las
coordenadas; estos ltimos son de vital importancia porque permiten detectar si existe alguna
tendencia en las direcciones de las coordenadas.

. Ejercicio:

De acuerdo con el diagrama de dispersin del tem 2 de la actividad 7 los valores de las
alturas de la cabeza piezomtrica del acufero de Wolfcamp Presentan alguna tendencia? En
qu direccin? Haca qu rango de valores?
De acuerdo con el grfico obtenido en el tem 5 de la actividad 7 los valores de las alturas
Presentan tendencia alguna en la direccin de alguna de las coordenadas easting o
northing?
La tendencia espacial puede confirmarse usando herramientas de visualizacin de tendencia
bidimensionales, para ello a continuacin se presentan algunas de las funciones que permiten
obtener este tipo de grficos en R.

11) Analice la tendencia en el set de datos geoespaciales aquifer.

Genere una superficie de interpolacin para las alturas de la cabeza piezomtrica del acufero
usando la funcin interp del paquete akima, para ello haga uso de la instruccin

int.aq=interp(x=easting,y=northing,z=head)

La funcin interp realiza una interpolacin lineal por default aunque tambin realiza
interpolaciones bilineales y spline bicbicas.

Realice una representacin grfica de las lneas de contorno de la interpolacin obtenida en el


tem anterior. Para llevar a cabo esto su usa la funcin contour del paquete graphics que se
carga por default al iniciar la sesin de trabajo en R. Use las instrucciones

contour(int.aq)
points(easting,northing)

Con la primera instruccin se generan las lneas de contorno y con la segunda se ubican los
puntos donde se hizo el muestreo de las alturas.
150
150

100
100

50
50

-150 -100 -50 0 50 100


-150 -100 -50 0 50 100

Para realizar otras representaciones bidimensionales del comportamiento de los valores de las
alturas, se pueden usa la funcin levelplot del paquete lattice o la funcin image del paquete
del paquete gstat. Primero debe abrirse un nuevo dispositivo grfico con la instruccin x11(),
paso seguido utilice la instruccin levelplot(int.aq$z), luego abra otro dispositivo grfico y use
la instruccin image(int.aq).
3500

150
30 3000

2500

100
column

20

2000

50
10 1500

1000

-100 -50 0 50 100


10 20 30

row

Analice

De acuerdo con los grficos de visualizacin bidimensional Los datos de las alturas de la
cabeza piezomtrica del acufero presentan tendencia?
Los grficos bidimensionales Corroboran sus conclusiones obtenidas en el ejercicio anterior?
Cul de los grficos obtenidos con las funciones levelplot o image considera usted
proporciona mejores resultados? Por qu?

Existen herramientas grficas tridimensionales que permiten visualizar el conjunto de datos y


descubrir tendencias en ellos.

Grafique la superficie de interpolacin generada para las alturas de la cabeza piezomtrica del
acufero, para ello use la instruccin siguiente:

persp(int.aq$x,int.aq$y,int.aq$z,xlab="easting",ylab="northing",zlab="head",phi=
30,theta=20,col="lightblue",expand=.5, ticktype="detailed")

Los parmetros phi y theta de la funcin persp indican la rotacin de la figura en el eje z e y
respectivamente, el parmetro col="lightblue" es para modificar el color de la superficie y el
parmetro ticktype="detailed" es para mostrar los valores de las coordenadas en los ejes
respectivos.
3500

3000

2500 150
2000

1500 100

-100
50
-50
0
50
100
Realice un diagrama de dispersin tridimensional para la hoja de datos aquifer usando la
funcin cloud del paquete lattice, para llevar a cabo esto use la instruccin siguiente :

cloud(aquifer$head~aquifer$easting*aquifer$northing)

aquifer$head

aquifer$northing
aquifer$easting

Analice

Las superficies anteriores muestran la existencia de tendencia espacial?


Existen observaciones que se puedan considerar como atpicas? Por qu? Cul de las
superficies uso para responder esta pregunta?
Pruebe diferentes ngulos de rotacin dentro de la funcin persp Obtiene una mejor
visualizacin?
Use la ayuda de la funcin cloud y pruebe diferentes parmetros para generar el diagrama de
dispersin tridimensional.

S-ar putea să vă placă și