################################################################################ ### TALLER SOBRE FUNDAMENTOS DE R ### ### EJERCICIO 4.1: Leer y escribir archivos de datos ### ### ### ### Center for Conservation and Sustainable Development ### ### Missouri Botanical Garden ### ### Website: rbasicsworkshop.weebly.com ### ################################################################################ ## OBJETIVO: ## Practicar el uso de funciones para leer datos en R y escribir datos en ## archivos. getwd() # Este comando nos dice cuál es el directorio de trabajo. Esta es el sitio # en su computador que R usa por defecto para leer y ecribir archivos. # Es decir, si usted no especifca un directorio en los argumentos de las funciones # para leer y escribir archivos, R utilizará el directorio de trabajo. # Para cambiar el directorio de trabajo, puede utilizar la pestaña "File - Change Dir" # en PCs, la pestaña "Session" en Rstudio o "Misc - Change Working Directory" en Macs. # Otra opción es utilizar la función *setwd*. Para especificar un directorio # en esta (y otras funciones), usted debe utilizar texto similar a este: # "carpeta1/carpeta2/carpeta3" ## TAREA 1. Cambie el directorio de trabajo en su sesión de R, especificando un ## directorio que quiera usar. # Una función muy utilizada para leer archivos de datos en R es "read.table". # Los archivos que pueden leerse con esta función son archivos de texto, típicamente # con extensiones como ".txt" o ".csv". ## TAREA 2. Use la función "read.table" para abrir los archivos ## 'NeotropicoOccidente_COL.txt' y 'NeotropicoOccidente_IGM2.txt', ambos disponibles ## la página del taller. Nombre los archivos resultantes "col" y "igm2". Note ## que estos son archivos de texto que utilizan la coma como separador y, además, ## que la primera fila en ambos archivos representa los nombres de las columnas. ## TAREA 3. ¿Cuál es la clase de los objetos que acaba de crear ("col" y "igm2")? ## ¿Cuál es el número de filas y columnas en cada uno de los dos objetos? Use ## funciones de R para dar sus respuestas. ## Si cualquiera de los dos objetos ("col" o "igm2") tiene una sola columna, ## entonces hubo un problema en su lectura y debe repitir la TAREA 2. # Ahora que leyó los archivos y sus datos fueron asignados a objetos, puede # utilizar los datos! Por ejemplo, el siguiente código grafica la relación # entre la evapotranspiración potencial mínima (PETmin) y la topografía # a través del Neotrópico. plot(igm2$PETmin, igm2$TOPOG) # El código a continuación grafica la variación latitudinal del PETmin a # través del Neotrópico. plot(igm2$Lat, igm2$PETmin) # Supongamos que hay interés en extraer los residuos de la regresión de # PETmin en función de la latitud, y en guardar esos residuos en un # archivo de nombre "lm.residuals". El codigo a continuación primero # realiza una regresión en la que PETmin es la variable de respuesta # y latitud, así como el cuadrado de laa latitud, son las variables # independientes. Después extrae los residuos de esa regresión: lm.results <- lm(igm2$PETmin~igm2$Lat+I(igm2$Lat^2)) lm.residuals <- residuals(lm.results) ## TAREA 4. Use la función *write.table* para escribir los residuos contenidos ## en el objeto 'lm.residuals' en un archivo de texto que use tabuladores para ## separar los datos. El nombre del archivo debe ser 'RegressionResiduals.txt". ## TAREA 5. Lea el archivo 'AdultLiteracy.xslx', disponible en la página del ## taller, y asigne su contenido a un objeto con el nombre que ud escoja. Note ## 'AdultLiteracy.xslx' es un archivo de Excel, por lo tanto debe primero ## convertirlo a un archivo de texto y, después, utilizar la función ## "read.table" para abrirlo en R. ## TAREA 6. Lea un archivo con sus datos, u otro archivo que tenga en su computadora ## con datos en los que tenga interés. Una vez los datos estén en un objeto en R, ## explore aspectos de los datos en los que tenga interés. ################################################################################ ### RESPUESTAS ################################################################ ################################################################################ ## TAREA 1 ## setwd('Address/goes/here') ## TAREA 2 ## ## Hay tres formas principales de hacer esta tarea: ## 1 col <- read.table(file="NeotropicoOccidente_COL.txt", header=TRUE, sep=",") igm2 <- read.table(file="NeotropicoOccidente_IGM2.txt", header=TRUE, sep=",") ## 2 col <- read.table(file=file.choose(), header=TRUE, sep=",") igm2 <- read.table(file=file.choose(), header=TRUE, sep=",") ## 3 col <- read.table(file="folder1/folder2/folder3/NeotropicoOccidente_COL.txt", header=TRUE, sep=",") igm2 <- read.table(file="folder1/folder2/folder3/NeotropicoOccidente_IGM2.txt", header=TRUE, sep=",") ## TAREA 3 ## class(col) class(igm2) dim(col) dim(igm2) ## TAREA 4 ## ## Hay dos formas principales de hacer esta tarea: ## 1 write.table(x=lm.residuals, file="RegressionResiduals.txt", sep="\t") ## 2 write.table(x=lm.residuals, file="folder1/folder2/RegressionResiduals.txt", sep="\t") ## TAREA 5 ## ## No hay respuesta para esta tarea, resuelvala por sus propios medios! :) ## TASK 6 ## ## Aquí tampoco hay respuesta, una oportunidad para practicar R independientemente.