Está en la página 1de 7

Universidad del Azuay Informe de anlisis estadstico con R Profesor Francisco Salgado Introduccin

Para este primer informe de programacin, su grupo deber escribir tres funciones diseadas para analizar el conjunto de datos de monitoreo ambiental. Los datos estn contenidos en un archivo specdata.zip que puede bajarlo de la pgina web de la materia de estadstica para ingeniera de sistemas y telemtica.

Datos
El archivo zip que contiene el conjunto de datos se denomina: specdata.zip [2.7MB] Este archivo zip contiene 332 archivos de valores-separados por comas - comma-separated-value (CSV) - con el registro de contaminacin del aire en 332 estaciones de monitoreo en los Estados Unidos. Cada archivo tiene los datos de una sola estacin en particular, cuyo cdigo o nmero de identificacin forma parte del nombre del archivo. Por ejemplo, los datos de la estacin de monitoreo nmero 200, estn en el archivo "200.csv". Las tres variables significativas de cada archivo son: Date: el da en que se realiz la medicin, formato: AAA-MM-DD sulfate: el nivel de partculas de sulfato en el aire (medido en microgramos por metro cbico) nitrate: el nivel de partculas de nitrato en el aire (medido en microgramos por metro cbico)

Para este informe, ustedes deben desempaquetar este archivo y crear el directorio 'specdata'. Una vez que lo hayan desempaquetado, no haga ninguna modificacin a los archivos del directorio 'specdata'. Podrn observar que en cada archivo hay muchos das para los cuales no se tiene medicin de niveles de sulfato y/o nitrato (registrado como NA). Esto es algo usual en los registros de mediciones de monitoreo ambiental.

Parte 1
Escriban una funcin denominada 'verEstacion' que reciba tres argumentos: 'numero', 'carpeta', y 'descriptiva'. Dado el nmero de una estacin, 'verEstacion' lee los datos de contaminacin del aire en la direccin especificada en el argumento 'carpeta' y devuelve un data frame con los datos de la estacin de monitoreo correspondiente. Si 'descriptiva = TRUE', entonces 'verEstacion' debe proporcionar los valores de estadstica descriptiva que se obtienen con la funcin 'summary' e imprimirlos en la consola. A continuacin el diseo del prototipo de esta funcin: verEstacion <- function(numero, carpeta, descriptiva = FALSE) {

## 'numero' vector de longitud 1 que indica el cdigo de la estacin ## El usuario puede proporcionar 'numero' sea como un valor entero, ## una cadena de caracteres, o un valor numrico

## 'carpeta' es un vector de caracteres, que indica la ## ubicacin de los archivos CSV ## 'descriptiva' es un valor lgico que indica si valores ## de estadstica (summary) deben mostrarse en la consola; ## el valor por omisin es FALSE

# }

Escriba aqu la codificacin de su funcin

A continuacin se muestran ejemplos de ejecucin de esta funcin. Sus resultados deben corresponder con los que se presentan aqu: > datos <- verEstacion(1, "specdata") > head(datos) Date sulfate nitrate ID 1 2003-01-01 NA NA 1 2 2003-01-02 NA NA 1 3 2003-01-03 NA NA 1 4 2003-01-04 NA NA 1 5 2003-01-05 NA NA 1 6 2003-01-06 NA NA 1 > datos <- verEstacion(101, "specdata", TRUE) Date sulfate nitrate ID 2005-01-01: 1 Min. : 1.700 Min. : 0.2490 Min. :101 2005-01-02: 1 1st Qu.: 3.062 1st Qu.: 0.6182 1st Qu.:101 2005-01-03: 1 Median : 4.345 Median : 1.0500 Median :101 2005-01-04: 1 Mean : 6.267 Mean : 2.2679 Mean :101 2005-01-05: 1 3rd Qu.: 7.435 3rd Qu.: 2.7825 3rd Qu.:101 2005-01-06: 1 Max. :22.100 Max. :10.8000 Max. :101 (Other) :724 NA's :666 NA's :666 > head(datos) Date sulfate nitrate ID 1 2005-01-01 NA NA 101 2 2005-01-02 NA NA 101 3 2005-01-03 NA NA 101 4 2005-01-04 NA NA 101 5 2005-01-05 NA NA 101 6 2005-01-06 NA NA 101

> datos <- verEstacion("200", "specdata", TRUE) Date sulfate nitrate ID 2001-01-01: 1 Min. : 0.741 Min. : 0.144 Min. :200 2001-01-02: 1 1st Qu.: 2.180 1st Qu.: 0.704 1st Qu.:200 2001-01-03: 1 Median : 3.275 Median : 1.300 Median :200 2001-01-04: 1 Mean : 4.391 Mean : 2.003 Mean :200 2001-01-05: 1 3rd Qu.: 5.228 3rd Qu.: 2.605 3rd Qu.:200 2001-01-06: 1 Max. :22.900 Max. :14.800 Max. :200 (Other) :3646 NA's :3192 NA's :3188

Parte 2
Escriban una funcin que lea los archivos de un directorio y reporte el nmero de casos completos registrados en cada estacin de monitoreo. La funcin debe devolver un data frame cuya primera columna sea el nmero de la estacin de monitoreo y la segunda sea el nmero de casos completos registrados en cada archivo. A continuacin el diseo del prototipo de esta funcin: completo <- function(carpeta, numero = 1:332) { ## 'carpeta' es un vector de cadena de caracteres ## que indica la ubicacin de los archivos CSV

## 'numero' es un vector entero que indica los cdigos de estacin ## cuyos datos van a ser analizados

## Se debe devolver un data frame con el formato siguiente: ## numero nobs ## 1 ## 2 ## ... ## en donde 'numero' es el cdigo de la estacin y ## 'nobs' ese el nmero de observaciones con casos completos } A continuacin se muestran ejemplos de ejecucin de esta funcin. Sus resultados deben corresponder con los que se presentan aqu: > completo("specdata", 1) numero nobs 1 1 117 117 1041

> completo("specdata", c(2, 4, 8, 10, 12)) numero nobs 1 2 1041 2 4 474 3 8 192 4 10 148 5 12 96 > completo("specdata", 30:25) numero nobs 1 30 932 2 29 711 3 28 475 4 27 338 5 26 586 6 25 463 > completo("specdata", 3) numero nobs 1 3 243 >

Parte 3
Escriba una funcin que recibe como argumentos una carpeta de los archivos de datos y un nivel mnimo de casos completos y realiza un histograma de los promedios de los niveles de sulfato y de nitrato en el aire en cada una de las estaciones que tienen un nmero de casos completos mayores al nivel mnimo sealado como argumento. Si el nivel mnimo es mayor a 100, la funcin debe interrumpirse, sealando que el nivel mnimo es demasiado alto. Se sugiera usar un vector numrico para el nivel de sulfato y otro para el de nitrato, en cada uno de los cuales se vaya poblando con los promedios correspondientes. Los dos histogramas deben presentarse de manera conjunta, y deben graficarse las lneas que corresponden a la media, la mediana, y la media +- una desviacin estndar. A continuacin el diseo del prototipo de esta funcin: caire <- function(carpeta, nivelminimo = 0){ ## 'carpeta' es un vector de cadena de caracteres ## que indica la ubicacin de los archivos CSV

## 'nivelminimo' es un vector entero que indica ## el valor mnimo de casos completos que debe tener la estacin ## para incorporar sus promedios de sulfato y nitrato ## que servirn luego para graficar los histogramas ## } de distribucin de promedios de sulftatos y nitratos

A continuacin se muestran ejemplos de ejecucin de esta funcin. Sus resultados deben corresponder con los que se presentan aqu: caire("specdata", 10)

caire("specdata", 40)

caire("specdata", 75)

caire("specdata", 100)

caire("specdata")

caire("specdata", 150)
Error in caire("specdata", 150) : Nivel mnimo demasiado alto

Informe
Su grupo deber elaborar un script que contenga las tres funciones descritas. El archivo se denominar con los apellidos de los miembros del grupo: Apellido1.Apellido2.Apellido3.R y debern enviarlo a mi direccin Francisco.Salgado@fulbrightmail.org hasta las 12h00 del mircoles 16 de octubre de 2013.