Sesión 2

Antonio Martínez Pineda

29/10/2021

Guradar y cargar objetos

#Lista de objetos en el espacio de trabajo
objects()  
character(0)
#la función ls() brinda el mismo resultado
#Guarda una imagen del espacio de trabajo en formato .RData
save.image()  
#Guardar un objeto en específico
save(df, file = "basedatos.RData")  

R confía en ti, si sobre escribes datos que no se hayan guardado en un archivo se perderán.

#Eliminamos los objetos de la sesión de trabajo
rm(list=ls())
ls()
character(0)
#Cargamos la imagen que habíamos guradado
load(".RData");ls()
character(0)
#Borramos la base de datos
rm(df);ls()
Warning in rm(df): objeto 'df' no encontrado
character(0)
#Cargamos la base guardada
load("basedatos.RData");ls()
[1] "df"

La fuente natural para importar datos a R son los archivos de texto (.txt, .dat, .csv).

acero<-read.csv("acero.csv")
head(acero,2)
   consumo pr.tbc pr.cc pr.ca pr.galv1 pr.galv2 pr.pint linea temperatura
1 109.8612 135.31  6840   830        0      579    1401     A        Alta
2 225.3240  84.08   443   903       58      611    1636     A        Alta
     averias naverias sistema ProdTotal    NOx    CO COV SO2    CO2  N2O
1 -0.6114359        1     OFF     11266   0.49 3.545 545  38  101.5 6.35
2 -0.6684893        0     OFF      7251 725.00 2.895 425  47 63.565 2.23

Pero se pueden importar datos de muchos otros formatos:

Paquete Archivos
readxl Excel
RODBC Bases compiladoras ODBC (MS SQLServer, MS Access, Oracle)
RMySQL Bases de datos compiladoras (MySQL)
RSQLite SQLite
foreing Minitab, S3, SAS, SPSS, Stata, Systat, dBase, ARFF, DBF,Octave,REC

Para importar desde SPSS utilizamos:

library(foreign)
datos<- read.spss("misdatossps.sav", to.data.frame = T)

También se pueden descargar bases de datos desde una url:

urlfile<- "https://www.siicyt.gob.mx/images/estadisticas/dbabiertas/Becas_Nuevas_al_Extranjero_por_Pais_de_Destino_2014.csv"

download.file(urlfile,destfile = "becas_nuevas_extranjero.csv")

Veamos los datos que descargamos:

becas<-read.csv("becas_nuevas_extranjero.csv")
head(becas,2)
  APELLIDO.PATERNO APELLIDO.MATERNO NOMBRE
1         MARTINEZ        GUTIERREZ  AARON
2        ARREDONDO          GALEANA   ABEL
                   AREA.DE.CONOCIMIENTO  NIVEL
1 VI. BIOTECNOLOGIA Y CS. AGROPECUARIAS 2. MAE
2                      VII. INGENIERIAS 1. DOC
                               INSTITUCION        PAIS GENERO
1 UNIVERSIDADE FEDERAL DE SAO JOAO DEL REI      BRASIL      M
2                  UNIVERSITY OF EDINBURGH REINO UNIDO      M

Paquetes de colaboración

R cuenta con un módulo base que permite ejecutar una gran cantidad de funciones. Pero, al ser un código abierto, los usuarios pueden crear nuevas funciones para realizar otros análisis o tareas y compartirlo con la comunidad a través de paquetes de colaboración, estos paquetes son analizados por el grupo administrador de R y, de ser aprobados, se suben a un repositorio de paquetes para que toda la comunidad los pueda usar.

search()
[1] ".GlobalEnv"        "package:stats"     "package:graphics" 
[4] "package:grDevices" "package:utils"     "package:datasets" 
[7] "package:methods"   "Autoloads"         "package:base"     

Para poder usar algún paquete hay que instalarlo en nuestro procesador

install.packages("psych")

y cargarlo en la sesión de trabajo.

library(psych)
search()
 [1] ".GlobalEnv"        "package:psych"     "package:stats"    
 [4] "package:graphics"  "package:grDevices" "package:utils"    
 [7] "package:datasets"  "package:methods"   "Autoloads"        
[10] "package:base"     

Gráficas

Una de las características de R que siempre es mencionada es su poder gráfico, en R existen principalmente tres sistemas gráficos: base, ggplot2 y lattice pero hay otros paquetes que permiten realizar gráficos en 3D y animaciones.

Sistema base

Se genera una imagen en una sola capa.

#R tiene bases de datos precargados
data(mtcars)  
with(mtcars, plot(wt, mpg, pch = 16, col = "orange"))
title("Gráfica con base", sub = "Relación millas por galón / peso")

ggplot2

Son gráficos construidos por capas que permiten un mayor control en la producción de la imagen.

library(ggplot2)
ggplot(mtcars, aes(wt, mpg, color = factor(cyl))) +
  geom_point() + 
  geom_smooth(method = "lm")

lattice

Es un sistema gráfico pensado en el análisis de datos multivariados.

library(lattice)
xyplot(mpg ~ wt | factor(cyl), data = mtcars, panel = function(x, y) {
    panel.xyplot(x, y)
    panel.loess(x, y, span = 1)
})

¿Qué tipo de gráficas conoces?

¿Podemos usar cualquier gráfico para cualquier tipo de datos?

Ejercicio 1. Con el sistema gráfico que prefieras, crea las siguientes gráficas con las variables de la base de datos acero.

  1. Gráfica de barras para la variable averias.

  2. Grafica de dispersión de puntos para la variable NOx.

  3. Diagrama de cajas con las variables temperatura y CO.