Professional Documents
Culture Documents
Introduccion al R
Luis A. Chacon Montalvan1,2
Resumen:
R es un sofisticado software para el analisis de datos con fuerte soporte estadstico. Es un software libre y contiene una
gran cantidad de paquete para distintas areas de interes. En esta primera clase mostramos la introduccion al Software
R cubriendo desde su intalacion hasta la descripcion de su forma de trabajar mediante el uso de la interfaz grafica
RStudio. Ademas, se describe los objetos (vectores, matrices, dataframes y listas), se muestran algunas operaciones
basicas, la importacion y exportacion de datos, los bucles principales y la creacion de funciones.
1 Consultor estadstico, Instituto de Planificacion y Estudios Estadsticos (IPLE)
2 Est. de Estadstica, Universidad Nacional Mayor de San Marcos
1. Introduccion
R es un lenguaje de programacion y un entorno libre para la elaboracion de analisis y graficos estadsticos. Puede
compilar y ser ejecutado en diferentes plataformas UNIX, Windows y MacOS. Por software libre, segun la Fundacion de
Software Libre (http://www.fsf.org), nos referimos a:
Fue creado en Nueva Zelanda en el ano 1991 por dos catedraticos, Ross Ihaka y Robert Gentleman, como iniciativa
de querer proporcionar una mejor plataforma estadstica a los alumnos. La funcionalidad de R esta dividido en una serie
de paquetes. Entre estos, el paquete principal es el llamado base, el cual permite ejecutar R y contiene las funciones
mas fundamentales. Actualmente, gracias al esfuerzo de toda la comunidad de usuarios, R posee mas de 4000 paquetes.
La ultima version de R fue lanzada recientemente, el 21/06/2016, que es R.3.3.1 (Bug in your hair).
RStudio es una potente, amigable y libre interface de R para el usuario. Cabe resaltar que es necesario tener una
version instalada de R para poder utilizar RStudio.
1
Introduccion al R
Instalando RStudio
Paso 1 Ir a la pagina oficial de RStudio (http://www.rstudio.com/) y seleccionar la primera opcion.
Ademas, se recomienda utilizar los siguientes cuatro metodos abreviados en el RStudio para ahorrar tiempo.
Atajos Importantes:
Ctrl + Enter: Enva la lnea actual (o la seleccion actual) desde el editor a la consola y lo ejecuta. Para
usuarios Mac, utilizar Cmd + Enter.
m http://iple.com.pe 2
Introduccion al R
getwd() y setwd()
R siempre esta referido a un directorio de trabajo de la computadora. Para saber cual es dicho directorio se debe ejecutar
la funcion getwd(), la cual no requiere ningun argumento.
getwd()
setwd("D:/UNMSM")
getwd()
## [1] "D:/UNMSM"
Instalacion de Paquetes
Existen tres maneras principales de instalar un paquete en R.
Documentacion
La documentacion es un aspecto muy importante de todos los paquetes, ya que permite al usuario conocer como funciona
el paquete y sus funciones. R proporciona informacion util sobre el uso de las funciones incluidas en los diferentes paquetes
a traves de ciertos comandos de ayuda.
Ademas, existe una lista grande de documentacion sobre R en la pagina oficial del software (http://cran.r-project.org/).
Por otro lado, si se tienen consultas mas especficas sobre la parte de programacion, se puede recurrir a la pagina web
Stack Overflow (http://stackoverflow.com). En cambio, si las dudas van mas enfocadas al analisis de datos, minera
de datos, machine learning, visualizacion o ciencia de datos, se recomienda recurrir a la pagina web Cross Validated
(http://stats.stackexchange.com).
m http://iple.com.pe 3
Introduccion al R
n<-15 #integer
5. Tipos de Objetos en R
n
5.1 Vectores
## [1] 15 El objeto mas basico es el vector, un conjunto de datos de
la misma clase. c() es usado para crear vectores, ademas se
class(n)
pueden crear vectores vacos con la funcion vector(). El
## [1] "numeric" operador : permite crear una secuencia de datos enteros.
class(z) class(entidad)
m http://iple.com.pe 4
Introduccion al R
## [1] 1.5 1.3 1.7 un vector con la funcion names(). Esto permite entender
mejor a lo que refiere cada elemento.
class(peso)
integrante <- c("Carlos Ruiz", "Economista")
## [1] "numeric" names(integrante) <- c("Nombre", "Profesion")
integrante
length(peso)
## Nombre Profesion
## [1] 3 ## "Carlos Ruiz" "Economista"
y<-5:7 #integer
y Valores Especiales
## [1] 5 6 7 Existen casos especiales en los numeros, 0/0, 1/0, -1/0.
class(y) 0/0
## [1] "integer" ## [1] NaN
length(y) 1/0
## [1] 3 ## [1] Inf
z<-c(1+2i,1+3i,1+4i) #complex -1/0
z
## [1] -Inf
## [1] 1+2i 1+3i 1+4i
class(z)
Mezclando objetos
## [1] "complex" Cuando mezclamos objetos en un vector, R automaticamente
define una clase en comun segun el dominio de cada uno en
length(z)
el siguiente orden:
## [1] 3 1. character
resp<-entidad=="Privado" #logical 2. complex
resp
3. numeric
## [1] TRUE FALSE
4. integer
class(resp)
5. logical
## [1] "logical"
y <- c(1.7, "a") # character
# Vector Vaco
y <- c(TRUE, 2) #numeric
nullvector<-vector("numeric", length = 10)
y <- c("a", TRUE) #character
nullvector
## [1] 0 0 0 0 0 0 0 0 0 0
Coercion explcita
class(nullvector)
Los objectos pueden ser forzados a cambiar de tipo de clase
## [1] "numeric" usando la funcion as.*.
m http://iple.com.pe 5
Introduccion al R
dim(data)
Valores perdidos
Existen dos tipos de datos perdidos en R. ## [1] 2 3
m http://iple.com.pe 6
Introduccion al R
m http://iple.com.pe 7
Introduccion al R
m http://iple.com.pe 8
Introduccion al R
m http://iple.com.pe 9
Introduccion al R
lista2 mi_lista$obj2
m http://iple.com.pe 10
Introduccion al R
m http://iple.com.pe 11
Introduccion al R
## $letras x <- 10
## [1] "a" "b" "c" "d" y <- x^3 * 4 + 20
y
class(mi_lista[1]) #sigue siendo una lista
## [1] 4020
## [1] "list"
x_vector <- c(1:6)
mi_lista[c(1,3)] x_vector^2
## $letras ## [1] 1 4 9 16 25 36
## [1] "a" "b" "c" "d"
## x_vector_nuevo <- x_vector^2 + 1
## $sexo
## [1] F M F sum(x_vector_nuevo) # Suma de valores del vector
## Levels: F M
## [1] 97
m http://iple.com.pe 12
Introduccion al R
## [,1] [,2] Segun la estructura de los datos, todas las variables son de
## [1,] 1 3 clase integer. Sin embargo, la variable sex, scheme y reoff
## [2,] 2 4 no pertenecen a esta clase y se deben convertir a factor.
m http://iple.com.pe 13
Introduccion al R
m http://iple.com.pe 14
Introduccion al R
mi_potencia(10)
temperatura <- 23
## [1] 100
if(temperatura > 19){
print("No hace tanto fro")
Las funciones generalmente devuelven un objeto que fue el
}
resultado de ejecutar el cuerpo de la funcion. En el ejemplo
## [1] "No hace tanto fro" anterior devuelve b.
n_fact(10)
10. Funciones ## [1] 3628800
Las funciones son creadas usando function(). La ver-
dadera fortaleza de R es la facilidad con la que el usuario
puede escribir nuevas funciones que pueden ser accedidas
m http://iple.com.pe 15
Introduccion al R
Recursos Adicionales
[1] Santiago Benitez-Vieyra. Introduccion al Lenguage R. Modelos Lineales y Fundamentos de Programacion, 2010.
URL https://github.com/santiagombv/cursoR.
[2] OReilly. Try R. URL http://tryr.codeschool.com/levels/1/challenges/3.
m http://iple.com.pe 16