Nina Castro
16/6/2019
Antes de empezar con R, es útil saber un par de cosas.
LIMPIAR ESPACIO DE TRABAJO
ls() # Lista de objetos actuales## character(0)
rm(list=ls()) # Borrar objetos actuales
ls() ## character(0)
gc() # Garbage collection, reporta memoria en uso## used (Mb) gc trigger (Mb) limit (Mb) max used (Mb)
## Ncells 455240 24.4 985381 52.7 NA 630608 33.7
## Vcells 886720 6.8 8388608 64.0 16384 1767290 13.5
LIBRERÍAS
search() # Busca librerías instaladas## [1] ".GlobalEnv" "package:stats" "package:graphics"
## [4] "package:grDevices" "package:utils" "package:datasets"
## [7] "package:methods" "Autoloads" "package:base"
library(base) # Funciones básicas (aritméticas, input/output, basic programming support,...)
library(gdata) # Leer y escribir Microsoft files## gdata: read.xls support for 'XLS' (Excel 97-2004) files ENABLED.
##
## gdata: read.xls support for 'XLSX' (Excel 2007+) files ENABLED.
##
## Attaching package: 'gdata'
## The following object is masked from 'package:stats':
##
## nobs
## The following object is masked from 'package:utils':
##
## object.size
## The following object is masked from 'package:base':
##
## startsWith
#install.packages("foreign", repos="https://cran.itam.mx/", dependencies = TRUE)
library(foreign) # Leer y escribir archivos "extranjeros"
library(stats) # Estadisticas básicas
#install.packages("descr", repos="http://stat.ethz.ch/CRAN/", dependencies = TRUE)
#update.packages() # Actualizar librerias instaladosDIRECTORIO DE TRABAJO
getwd() # Directorio actual## [1] "/Users/anaescoto/Dropbox/PAPIME2019/Talleres/Taller2"
setwd("/Users/anaescoto/Dropbox/PAPIME2019/Talleres/Taller2") # Cambio de directorio OJO CON LA DIRECCIÓN DE LAS DIAGONALES
list.files() # Lista de archivos## [1] "Introduccion R_Nina.R" "Introducción.md" "Introducción.Rmd"
R COMO CALCULADORA
1+1 # Suma dos digitos## [1] 2
5*7 # 5*7## [1] 35
TIPO DE DATOS
c('a','b','c') # Caracter## [1] "a" "b" "c"
1:7 # Entero## [1] 1 2 3 4 5 6 7
40<80 # Valor logico## [1] TRUE
2+2 == 5 # Valor logico## [1] FALSE
T == TRUE # T expresion corta de verdadero## [1] TRUE
x <- 24 # Asignacion de valor 24 a la variable x para su uso posterior (OBJETO)
x/2 # Uso posterior de variable u objeto x## [1] 12
x # Imprime en pantalla el valor de la variable u objeto## [1] 24
x <- TRUE # Asigna el valor logico TRUE a la variable x OJO: x toma el ultimo valor que se le asigna
x## [1] TRUE
sum (10,20,30) # Funcion suma## [1] 60
rep('R', times=3) # Repite la letra R el numero de veces que se indica## [1] "R" "R" "R"
sqrt(9) # Raiz cuadrada de 9## [1] 3
VECTORES
y <- c(2,4,6) # Vector numerico
y <- c('Primaria', 'Secundaria') # Vector caracteres
1:5 # Secuencia 1-5## [1] 1 2 3 4 5
seq(1, 10, 0.5) # Secuencia con incrementos diferentes a 1## [1] 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5
## [15] 8.0 8.5 9.0 9.5 10.0
y[2] # Acceder al segundo valor del vector y## [1] "Secundaria"
y[3] <- 'Preparatoria y m??s' # Asgina valor a la tercera componente del vector
sex <-1:2 # Asigna a la variable sex los valores 1 y 2
names(sex) <- c("Femenino", "Masculino") # Asigna nombres al vector de elementos sexo
sex[2] # Segundo elemento del vector sex## Masculino
## 2
z <- c(0, y, 5) # Concatena escalares y vectores
z## [1] "0" "Primaria" "Secundaria"
## [4] "Preparatoria y m??s" "5"
w <- vector('numeric', length=10) # Funcion vector
class(w)## [1] "numeric"
FUNCIONES
# FUNCION AS
as.numeric(c('-.1','2.7','B')) # Funcion as.*## Warning: NAs introduced by coercion
## [1] -0.1 2.7 NA
LISTAS
xx <- list (1, 'a', TRUE, 1+4i) # Lista (vector con elementos de diferentes clases)
xx## [[1]]
## [1] 1
##
## [[2]]
## [1] "a"
##
## [[3]]
## [1] TRUE
##
## [[4]]
## [1] 1+4i
MATRICES
m <- matrix (nrow=2, ncol=3, 1:6) # Matrices Ejemplo 1
m## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
dim(m)## [1] 2 3
attributes(m)## $dim
## [1] 2 3
n <- 1:6 # Matrices Ejemplo 2
dim(n) <- c(2,3)
n## [,1] [,2] [,3]
## [1,] 1 3 5
## [2,] 2 4 6
xx <-10:12 # Matrices Ejemplo 3
yy<-14:16
cbind(xx,yy) # Une vectores por Columnas## xx yy
## [1,] 10 14
## [2,] 11 15
## [3,] 12 16
rbind(xx,yy) # Une vectores por Renglones## [,1] [,2] [,3]
## xx 10 11 12
## yy 14 15 16
FACTORES
x <- factor ( c('si', 'si', 'no')) # Factores
x## [1] si si no
## Levels: no si
table(x) # Frecuencia## x
## no si
## 1 2
unclass(x) # Clase## [1] 2 2 1
## attr(,"levels")
## [1] "no" "si"
x <- factor ( c('si', 'si', 'no'), levels=c('no', 'si'))
x## [1] si si no
## Levels: no si
Missing values Valores perdidos
y <- c(1, 2, NA, 10, 3) # Missing values
is.na(y) # Es missing?## [1] FALSE FALSE TRUE FALSE FALSE
DATA FRAMES "Tablas de datos"
x <- data.frame(id=1:4, sex=c('F', 'F', 'M', 'M')) # Data Frames
x## id sex
## 1 1 F
## 2 2 F
## 3 3 M
## 4 4 M
nrow(x) # Número de renglones## [1] 4
ncol(x) # Número de columnas## [1] 2
ETIQUETAS
x <- 1:2 # Etiquetas para cualquier objeto en R
names(x)## NULL
names(x) <- c("Ocupado", "Desocupado")
names(x)## [1] "Ocupado" "Desocupado"