PRESENTACIÓN

Como se señaló en líneas anteriores, el objetivo de la actividad consiste en el análisis del medio físico de un valle de la cordillera cantábrica.

!Figura 1: Modelo digital del terreno correspondiente al valle

Para efectuar este análisis, contamos con un fichero en formato excel que continene los valores de diversas variables. Este fichero se denomina “valle_cantabrico.xlsx”, y contiene dos hojas:

Los datos están recogidos en cuadrículas de 1 * 1 km (formato ráster) e incluyen las siguientes variables:

Este fichero incluye las siguientes variables:

PASOS INICIALES

Establecer el directorio de trabajo.

Lo primero que debemos realizar es comprobar nuestro directorio de trabajo.

getwd()
## [1] "D:/G2040/TEMA_4_ESDA_Tablas"

Si no estuviéramos en el directorio deseado, sería conveniente establecerlo inmediatamente. Hay que recordar que, a diferencia de Windows, la notación de los subdirectorios en R debe incluir la barra vertical inclinada a la derecha.

# setwd("ruta_completa")                    # Establece el directorio de trabajo

También estableceremos la semilla, para reproducir los mismos resultados.

set.seed(12)

Importar el fichero.

A continuación instalaremos los paquetes necesarios para la importación y exportación de ficheros EXCEL. Cuando escribimos if (!require("readxl")) estamos pidiendo a R que compruebe si lo tenemos instalado. Sólo lo instala en caso de no encontrarlo.

if (!require("readxl")) install.packages("readxl")
library(readxl)                                                                 # Para importar ficheros excel.
if (!require("xlsx")) install.packages("xlsx")
library(xlsx)                                                                   # Para exportar como fichero excel

A continuación, se importan los datos, bien desde nuestro disco duro (previa descarga) o bien directamente desde internet.

  • OPCIÓN 1: importación desde el menú. En este caso, se debe acudir al menú menú. Posteriormente se abre una ventana en la que se pueden seleccionar diversas opciones opciones. Para utilizar este procedimiento hay que tener instalado el paquete readxl.

  • OPCIÓN 2: importación desde disco duro. El se puede descargar desde este link.

valle <- read_excel("./valle_cantabrico.xlsx",                    
                  sheet = "datos", 
                  na = "-9999")
  • OPCIÓN 3: importación desde web, sin necesidad de descarga en el disco duro. Requiere superar varios pasos

  • PASO 1: definir la localización URL (dirección única y específica que se asigna a cada uno de los recursos disponibles en la web)

url <- "http://personales.unican.es/rasillad/docencia/G2040/TEMA_4/valle_cantabrico.xlsx"         
  • PASO 2: definir el (nombre) del fichero de destino
destfile <- "valle.xlsx"                                                   
  • Paso 3: establecer la conexión
curl::curl_download(url, destfile)                                              
  • PASO 4: descargar el fichero
valle <- read_excel(destfile,
                  sheet = "datos",                                                # Nombre de la hoja de cálculo a importar
                  na = "-9999")                                                 # Codificación de datos ausentes -9999
  • PASO 5: Eliminamos objetos innecesarios
rm(url,destfile)                                                                

Se puede retirar la notación científica con la siguiente opción.

options(scipen = 999)

Estructura del fichero

Inicialmente, conviene echar un vistazo a nuestro fichero de trabajo para familiarizarse con sus variables y atributos. Recuérdese que, a la hora de trabajar con las variables de un dataframe podemos utilizar dos procedimientos (ver tema 1):

  • Usando el signo del dollar ($) y el nombre de la variable:

  • Cuando el número de variables es muy numeroso, o sus nombres son complicados, podemos hacer uso de la función attach() para acceder directamente a la variable sin necesidad de escribir el nombre del data frame una y otra vez precediendo al símbolo $ y al nombre de la variable. Esta función fija nuestro data.frame de trabajo hasta que utilicemos la función detach() para deshabilitar este acceso directo. Sin embargo, hay que tener cuidado, ya que cada vez que modifiquemos nuestro fichero original la función attach() se desactiva.

ATENCIÓN

  • Comprueba el encabezado y las 5 primeras líneas del fichero.

  • Determina que tipo de variables (cuantitativa, cualitativa etc…) existen en el fichero.**

Transformación en factores (si fuera necesario)

Comprueba si existen variables que puedan considerarse como factores, y en su caso, convierte las variables originales en factores. En vez de sobreescribir la variable original como factor, es conveniente crear una nueva variable (por ejemplo, nombreantiguo_factor), con lo que cualquier error puede ser subsanado respetando los datos originales.**

:::

Recodificación de variables

Por ejemplo, la orientación de cada punto de rejilla se expresa mediante un número, que es la orientación en grados. Sin embargo, es habitual que la orientación de las laderas de una montaña se exprese en cuadrantes (N, S, E, W). Por lo tanto, recodifica la variable orientación en cuadrantes, utilizando los siguientes criterios.

Orientación cuadrante
< 45º N
45 a 135 E
135 a 225 S
225 a 335 W
> 335 N

📝 RECODIFICACION:

Recodifica la variable orientacion en una nueva variable denominada orientacion_factor siguiendo los criterios del cuadro anterior.**

📝 DATOS AUSENTES:

Como se ha mencionado anteriormente, los datos ausentes son un verdadero engorro en R. Por lo tanto, es conveniente saber si tenemos este tipo de datos en nuestro data.frame. Comprueba si existen datos ausentes.

ELABORACIÓN DE TABLAS DE FRECUENCIA

Esta fase consiste en la elaboración (tabulación) de todas y cada una de las variables, de acuerdo con lo explicado en el aula. Para el caso de las variables cuantitativas continuas, compara los resultados de los diversos procedimientos para establecer el número de clases:

Para facilitar y dar más rapidez al proceso de elaboración de las tablas, ahora sí es conveniente activar la función attach(). Esta función permite trabajar más rapidamente con las variables de un data frame, sin tener que utilizar la sintaxis habitual consistente en escribir data.frame$columna; a attach se le añade como único argumento el nombre del dataframe.

⚠️ PRECAUCIÓN:

Ten en cuenta que acabas de modificar algunas variables y las has convertido en factores. Si las variables originales han sido duplicadas como factores, deberás operar sobre éstas últimas.

📝 TABULACIÓN DE LA VARIABLE GEOLOGÍA

Elabora la tabla de frecuencias que corresponda a la variable geología y contesta a las siguientes preguntas.

  • ¿Cuál es el tipo de roca predominante en el valle?

  • ¿Y el menos abundante?

  • ¿A qué porcentaje corresponde cada categoría?

📝 TABULACIÓN DE LA VARIABLE USOS

Elabora la tabla de frecuencias que corresponda a la variable usos y contesta a las siguientes preguntas.

  • ¿Cuál es el uso predominante en el valle? ¿Cuál es su frecuencia relativa?

  • ¿Cuál es el uso menos frecuente? ¿Cuál es su frecuencia absoluta??

  • ¿Cuál la superficie dedicada a pastos?¿Qué porcentaje representa respecto al total del valle?

📝 TABULACIÓN DE LA VARIABLE MUNICIPIO

Elabora la tabla de frecuencias que corresponda a la variable municipio y contesta a las siguientes preguntas.

  • ¿Cuál es el municipio más extenso del valle? Si cada píxel representa 2 \(km^2\) ¿Cuál es su superficie en \(km^2\)?

  • ¿Cuál es el municipio más pequeño? ¿Qué porcentaje representa su superficie con respecto a todo el valle?

📝 TABULACIÓN DE LA VARIABLE MUNICIPIO

Elabora la tabla de frecuencias que corresponda a la variable orientacion y contesta a la siguiente pregunta.

  • ¿Cuál es la orientación predominante en \(km^2\)? ¿Y su frecuencia relativa?

📝 TABULACIÓN DE LA VARIABLE ZONA PROTEGIDA

Elabora la tabla de frecuencias que corresponda a la variable zona_protegida y contesta a las siguientes preguntas.

  • ¿Cuál es el porcentaje de superficie protegida en \(km^2\)?

  • ¿Cuál es la superficie protegida por la figura de monumento natural en \(km^2\)?

📝 TABULACIÓN DE LA VARIABLE ZONA PROTEGIDA

Elabora la tabla de frecuencias que corresponda a la variable altitud y contesta a las siguientes preguntas.

  • ¿Cuál es el intervalo de altitudes más frecuente?

  • ¿Qué superficie en \(km^2\) supera los 600 m de altitud?

📝 TABULACIÓN DE LA VARIABLE ESCORRENTÍA

Elabora la tabla de frecuencias que corresponda a la variable escorrentía.

📝 TABULACIÓN DE LA VARIABLE PENDIENTE

  • Elabora la tabla de frecuencias que corresponda a la variable pendiente y contesta a las siguientes preguntas.

    • ¿Cuál es el intervalo de pendiente más frecuente?

    • ¿Qué superficie en \(km^2\) supera 35º de pendiente?

📝 TABULACIÓN DE LA VARIABLE TEMPERATURA

  • Elabora la tabla de frecuencias que corresponda a la variable temperatura. Utiliza como límites de las clases los siguientes (límites de clase prefijados: 10-11.5, 11.5-13, 13-14.5, 14.5-16, 16-17.5, 17.5-19) y contesta a las siguientes preguntas.

  • ¿Cuál es la frecuencia absoluta del intervalo [16,17.5) de la temperatura?

  • ¿Qué porcentaje sobre el total representan los puntos de rejilla con más de 14,5ºC?

EXPORTACIÓN DE LAS TABLAS

Podríamos exportar todas las tablas a un fichero excel para su posterior tratamiento. La función write.xlsx requiere JAVA y el paquete xlsx.

Función write.xlsx: sintaxis y argumentos
Función write.xlsx: sintaxis y argumentos

La exportación de datos de R a Excel se puede lograr con varios paquetes. El paquete más conocido es xlsx, que proporciona las funciones write.xlsx() y write.xlsx2(). La función write.xlsx() utiliza la coma como separador y el punto como decimal (formato anglosajón) e incluye los siguientes argumentos:

La función write.xlsx2() aplica el punto y coma como separador y la coma como decimal, pero comparte los mismos argumentos

Ejemplo básico: para guardar el dataframe cars: write.xlsx(cars, "cars.xlsx").

Sin embargo, la principal desventaja del paquete anterior es que requiere JAVA instalado en tu ordenador, por lo que si JAVA_HOME no se especifica o si R no encuentra el archivo rJava.dll, el paquete no funcionará.

Las alternativas para exportar la salida de R a XLSX que no requieren JAVA son los paquetes openxlsx y writexl: