Obtener datos en R

Luis Vargas (l.vargas@cgiar.org)

August 15, 2017

Conocer tu directorio de trabajo

Un componente básico de trabajar con datos en R es conocer el directorio de trabajo

Para conocer el directorio de trabajo actual se utiliza el comando getwd()

getwd()
## [1] "C:/Users/LVARGAS/Documents/CIMMYT/CAPACITACIONES BEM/Material capacitaciones Curso internacional/Material CP 2017"

Establecer tu directorio de trabajo

Para establecer un directorio de trabajo se utiliza el comando setwd()

setwd("C:/Users/LVARGAS/Desktop") # MaterialCP2017

# Después utilizamos el comendo getwd() para asegurarnos que se ha cambiado correctamente.
getwd() 
## [1] "C:/Users/LVARGAS/Desktop"

Obtener datos en R

Los datos que desea importar en R puede venir en todo tipo de formatos: archivos planos, archivos de software, bases de datos estadísticos y datos de la web.

Ejercicio

Contesta las siguientes preguntas:

  1. ¿Cómo puedes obtener documentación sobre alguna función en R?
help.search('read table')
## starting httpd help server ...
##  done
  1. ¿Qué significan los argumentos: file, header, sep, row.names, nrows; de la función read.table().
?read.table()

Cargando archivos planos

Con read.table()

rendUti <- read.table("./datos/renUtiOax.csv", sep = ",", header = TRUE)

Con read.csv()

rendUti_2 <- read.csv("./datos/renUtiOax.csv")

Algunas funciones para conocer las caracteristicas de los datos

Ver las dimensiones del data frame

dim(rendUti)
## [1] 429  19

Ver la estructura de los datos

str(rendUti)
## 'data.frame':    429 obs. of  19 variables:
##  $ ID.de.la.bitácora                                                             : int  63671 63671 63673 63675 63676 63677 63678 63679 64013 64013 ...
##  $ ID.de.tipo.de.bitácora..clave.foránea.                                        : int  73095 73096 73099 73101 73102 73103 73104 73105 73442 73443 ...
##  $ Tipo.de.parcela..testigo.o.innovación.                                        : Factor w/ 3 levels "Parcela Área de extensión",..: 3 2 1 1 1 1 1 1 3 2 ...
##  $ Nombre.del.cultivo.cosechado                                                  : Factor w/ 4 levels "Cebada","Frijol",..: 3 3 3 3 3 3 3 3 3 3 ...
##  $ Nombre.del.producto.de.interés.económico.obtenido                             : Factor w/ 1 level "Grano": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Unidad.de.medida.de.rendimiento.para.el.producto.de.interés.económico.obtenido: Factor w/ 1 level "t/ha": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Uso.que.le.da.al.producto.de.interés.económico.obtenido                       : Factor w/ 3 levels "Ambos","Autoconsumo",..: 2 2 NA NA NA NA NA NA 3 3 ...
##  $ Rendimiento..t.ha.                                                            : num  2 2.3 1.3 1.1 1.2 1.8 1.5 0 5.3 6.3 ...
##  $ tipoProduccion                                                                : Factor w/ 2 levels "Riego","Temporal": 2 2 2 2 2 2 2 2 2 2 ...
##  $ ID.de.la.parcela                                                              : int  46675 46675 47141 47145 47147 39686 47148 47144 4817 4817 ...
##  $ Año                                                                           : int  2016 2016 2016 2016 2016 2016 2016 2016 2016 2016 ...
##  $ Ciclo.agronómico                                                              : Factor w/ 2 levels "Otoño-Invierno",..: 2 2 2 2 2 2 2 2 2 2 ...
##  $ Estado                                                                        : Factor w/ 1 level "Oaxaca": 1 1 1 1 1 1 1 1 1 1 ...
##  $ Municipio                                                                     : Factor w/ 67 levels "Acatlán de Pérez Figueroa",..: 7 7 9 9 9 9 9 9 23 23 ...
##  $ Nombre.del.Hub                                                                : Factor w/ 1 level "Sistemas de maíz y cultivos asociados trópico bajo Pacifico Sur": 1 1 1 1 1 1 1 1 1 1 ...
##  $ costos                                                                        : num  4196 3976 3225 4115 3455 ...
##  $ Ingresos                                                                      : num  20000 26450 8450 6050 7200 ...
##  $ utilidad                                                                      : num  15804 22474 5225 1935 3745 ...
##  $ Region                                                                        : Factor w/ 8 levels "Cañada","Costa",..: 4 4 4 4 4 4 4 4 6 6 ...

Ver los primeros seis registros

head(rendUti) 
##   ID.de.la.bitácora ID.de.tipo.de.bitácora..clave.foránea.
## 1             63671                                  73095
## 2             63671                                  73096
## 3             63673                                  73099
## 4             63675                                  73101
## 5             63676                                  73102
## 6             63677                                  73103
##   Tipo.de.parcela..testigo.o.innovación. Nombre.del.cultivo.cosechado
## 1                        Parcela testigo                         Maiz
## 2                     Parcela innovación                         Maiz
## 3              Parcela Área de extensión                         Maiz
## 4              Parcela Área de extensión                         Maiz
## 5              Parcela Área de extensión                         Maiz
## 6              Parcela Área de extensión                         Maiz
##   Nombre.del.producto.de.interés.económico.obtenido
## 1                                             Grano
## 2                                             Grano
## 3                                             Grano
## 4                                             Grano
## 5                                             Grano
## 6                                             Grano
##   Unidad.de.medida.de.rendimiento.para.el.producto.de.interés.económico.obtenido
## 1                                                                           t/ha
## 2                                                                           t/ha
## 3                                                                           t/ha
## 4                                                                           t/ha
## 5                                                                           t/ha
## 6                                                                           t/ha
##   Uso.que.le.da.al.producto.de.interés.económico.obtenido
## 1                                             Autoconsumo
## 2                                             Autoconsumo
## 3                                                    <NA>
## 4                                                    <NA>
## 5                                                    <NA>
## 6                                                    <NA>
##   Rendimiento..t.ha. tipoProduccion ID.de.la.parcela  Año Ciclo.agronómico
## 1                2.0       Temporal            46675 2016 Primavera-Verano
## 2                2.3       Temporal            46675 2016 Primavera-Verano
## 3                1.3       Temporal            47141 2016 Primavera-Verano
## 4                1.1       Temporal            47145 2016 Primavera-Verano
## 5                1.2       Temporal            47147 2016 Primavera-Verano
## 6                1.8       Temporal            39686 2016 Primavera-Verano
##   Estado                  Municipio
## 1 Oaxaca Heroica Ciudad de Tlaxiaco
## 2 Oaxaca Heroica Ciudad de Tlaxiaco
## 3 Oaxaca          Magdalena Peñasco
## 4 Oaxaca          Magdalena Peñasco
## 5 Oaxaca          Magdalena Peñasco
## 6 Oaxaca          Magdalena Peñasco
##                                                    Nombre.del.Hub costos
## 1 Sistemas de maíz y cultivos asociados trópico bajo Pacifico Sur 4196.0
## 2 Sistemas de maíz y cultivos asociados trópico bajo Pacifico Sur 3976.0
## 3 Sistemas de maíz y cultivos asociados trópico bajo Pacifico Sur 3225.0
## 4 Sistemas de maíz y cultivos asociados trópico bajo Pacifico Sur 4115.0
## 5 Sistemas de maíz y cultivos asociados trópico bajo Pacifico Sur 3455.0
## 6 Sistemas de maíz y cultivos asociados trópico bajo Pacifico Sur 3399.1
##   Ingresos utilidad  Region
## 1    20000  15804.0 Mixteca
## 2    26450  22474.0 Mixteca
## 3     8450   5225.0 Mixteca
## 4     6050   1935.0 Mixteca
## 5     7200   3745.0 Mixteca
## 6    16200  12800.9 Mixteca

Ver los últimos tres registros

tail(rendUti, 3)
##     ID.de.la.bitácora ID.de.tipo.de.bitácora..clave.foránea.
## 427             82961                                  93216
## 428             82973                                  93228
## 429             82999                                  93254
##     Tipo.de.parcela..testigo.o.innovación. Nombre.del.cultivo.cosechado
## 427              Parcela Área de extensión                       Frijol
## 428              Parcela Área de extensión                       Frijol
## 429              Parcela Área de extensión                       Frijol
##     Nombre.del.producto.de.interés.económico.obtenido
## 427                                             Grano
## 428                                             Grano
## 429                                             Grano
##     Unidad.de.medida.de.rendimiento.para.el.producto.de.interés.económico.obtenido
## 427                                                                           t/ha
## 428                                                                           t/ha
## 429                                                                           t/ha
##     Uso.que.le.da.al.producto.de.interés.económico.obtenido
## 427                                                    <NA>
## 428                                                    <NA>
## 429                                                    <NA>
##     Rendimiento..t.ha. tipoProduccion ID.de.la.parcela  Año
## 427               0.50       Temporal            77756 2016
## 428               0.05       Temporal            77759 2016
## 429               0.15       Temporal            73265 2016
##     Ciclo.agronómico Estado              Municipio
## 427 Primavera-Verano Oaxaca Santa Lucía Monteverde
## 428 Primavera-Verano Oaxaca Santa Lucía Monteverde
## 429 Primavera-Verano Oaxaca Santa Cruz Zenzontepec
##                                                      Nombre.del.Hub costos
## 427 Sistemas de maíz y cultivos asociados trópico bajo Pacifico Sur   2604
## 428 Sistemas de maíz y cultivos asociados trópico bajo Pacifico Sur   2504
## 429 Sistemas de maíz y cultivos asociados trópico bajo Pacifico Sur   8648
##     Ingresos utilidad     Region
## 427     1.30 -2602.70 Sierra Sur
## 428     0.95 -2503.05 Sierra Sur
## 429  3000.00 -5648.00 Sierra Sur

Ver los nombres de las columnas

names(rendUti)
##  [1] "ID.de.la.bitácora"                                                             
##  [2] "ID.de.tipo.de.bitácora..clave.foránea."                                        
##  [3] "Tipo.de.parcela..testigo.o.innovación."                                        
##  [4] "Nombre.del.cultivo.cosechado"                                                  
##  [5] "Nombre.del.producto.de.interés.económico.obtenido"                             
##  [6] "Unidad.de.medida.de.rendimiento.para.el.producto.de.interés.económico.obtenido"
##  [7] "Uso.que.le.da.al.producto.de.interés.económico.obtenido"                       
##  [8] "Rendimiento..t.ha."                                                            
##  [9] "tipoProduccion"                                                                
## [10] "ID.de.la.parcela"                                                              
## [11] "Año"                                                                           
## [12] "Ciclo.agronómico"                                                              
## [13] "Estado"                                                                        
## [14] "Municipio"                                                                     
## [15] "Nombre.del.Hub"                                                                
## [16] "costos"                                                                        
## [17] "Ingresos"                                                                      
## [18] "utilidad"                                                                      
## [19] "Region"

Ver el número de filas

nrow(rendUti)
## [1] 429

Obtención de archivos de Excel

Existen diferentes funciones para leer archivos Excel, como son: read.xlsx(), XLConnect(), etc.

En este ejercicio se utilizará la función readxl, en la cual se utilizan los siguiente principales parámetros read_excel(Ruta y nombre del archivo, sheet = el nombre o número de hoja)

#install.packages("readxl") # La primera vez se debe instalar el paquete readxl
library(readxl)
datos <- read_excel("./datos/renUtiOax.xlsx", sheet = "datosRendimiento")

Visualizar la estructura de los datos

names(datos)
##  [1] "ID.de.la.bitácora"                                                             
##  [2] "ID.de.tipo.de.bitácora..clave.foránea."                                        
##  [3] "Tipo.de.parcela..testigo.o.innovación."                                        
##  [4] "Nombre.del.cultivo.cosechado"                                                  
##  [5] "Nombre.del.producto.de.interés.económico.obtenido"                             
##  [6] "Unidad.de.medida.de.rendimiento.para.el.producto.de.interés.económico.obtenido"
##  [7] "Uso.que.le.da.al.producto.de.interés.económico.obtenido"                       
##  [8] "Rendimiento..t.ha."                                                            
##  [9] "tipoProduccion"                                                                
## [10] "ID.de.la.parcela"                                                              
## [11] "Año"                                                                           
## [12] "Ciclo.agronómico"                                                              
## [13] "Estado"                                                                        
## [14] "Municipio"                                                                     
## [15] "Nombre.del.Hub"                                                                
## [16] "costos"                                                                        
## [17] "Ingresos"                                                                      
## [18] "utilidad"                                                                      
## [19] "Region"
head(datos, 2)
##   ID.de.la.bitácora ID.de.tipo.de.bitácora..clave.foránea.
## 1             63671                                  73095
## 2             63671                                  73096
##   Tipo.de.parcela..testigo.o.innovación. Nombre.del.cultivo.cosechado
## 1                        Parcela testigo                         Maiz
## 2                     Parcela innovación                         Maiz
##   Nombre.del.producto.de.interés.económico.obtenido
## 1                                             Grano
## 2                                             Grano
##   Unidad.de.medida.de.rendimiento.para.el.producto.de.interés.económico.obtenido
## 1                                                                           t/ha
## 2                                                                           t/ha
##   Uso.que.le.da.al.producto.de.interés.económico.obtenido
## 1                                             Autoconsumo
## 2                                             Autoconsumo
##   Rendimiento..t.ha. tipoProduccion ID.de.la.parcela  Año Ciclo.agronómico
## 1                2.0       Temporal            46675 2016 Primavera-Verano
## 2                2.3       Temporal            46675 2016 Primavera-Verano
##   Estado                  Municipio
## 1 Oaxaca Heroica Ciudad de Tlaxiaco
## 2 Oaxaca Heroica Ciudad de Tlaxiaco
##                                                    Nombre.del.Hub costos
## 1 Sistemas de maíz y cultivos asociados trópico bajo Pacifico Sur   4196
## 2 Sistemas de maíz y cultivos asociados trópico bajo Pacifico Sur   3976
##   Ingresos utilidad  Region
## 1    20000    15804 Mixteca
## 2    26450    22474 Mixteca

Practica

Ingresa al siguiente link para realizar la práctica: goo.gl/apf3ES