Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción al R
Resumen:
R es un sofisticado software para el análisis de datos con fuerte soporte estadı́stico. Es un software libre y contiene una
gran cantidad de paquete para distintas áreas de interés. En esta primera clase mostramos la introducción al Software
R cubriendo desde su intalación hasta la descripción de su forma de trabajar mediante el uso de la interfaz gráfica
RStudio. Además, se describe los objetos (vectores, matrices, dataframes y listas), se muestran algunas operaciones
básicas, la importación y exportación de datos, los bucles principales y la creación de funciones.
R es un lenguaje de programación y un entorno libre para la elaboración de análisis y gráficos estadı́sticos. Puede
compilar y ser ejecutado en diferentes plataformas UNIX, Windows y MacOS. Por software libre, según la Fundación de
Software Libre (http://www.fsf.org), nos referimos a:
Fue creado en Nueva Zelanda en el año 1991 por dos catedráticos, Ross Ihaka y Robert Gentleman, como iniciativa de
querer proporcionar una mejor plataforma estadı́stica a los alumnos. La funcionalidad de R está dividido en una serie de
paquetes. Entre estos, el paquete principal es el llamado base, el cual permite ejecutar R y contiene las funciones más
fundamentales. Actualmente, gracias al esfuerzo de toda la comunidad de usuarios, R posee más de 4000 paquetes. La última
versión 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
versión instalada de R para poder utilizar RStudio.
1
Introducción al R
2. Instalación del R y
RStudio Instalando R
Paso 1 Ir a la página oficial de R (http://cran.r-project.org/) y seleccionar el sistema operativo de su PC.
Instalando RStudio
Paso 1 Ir a la página oficial de RStudio (http://www.rstudio.com/) y seleccionar la primera opción.
Además, se recomienda utilizar los siguientes cuatro métodos abreviados en el RStudio para ahorrar tiempo.
UNMSM -2017(2) 2
Introducción al R
getwd() y setwd()
R siempre está referido a un directorio de trabajo de la computadora. Para saber cual es dicho directorio se debe ejecutar
la función getwd(), la cual no requiere ningún argumento.
getwd()
setwd("D:/UNMSM")
getwd()
## [1] "D:/UNMSM"
Instalación de Paquetes
Existen tres maneras principales de instalar un paquete en R.
Documentación
La documentación es un aspecto muy importante de todos los paquetes, ya que permite al usuario conocer como funciona
el paquete y sus funciones. R proporciona información útil sobre el uso de las funciones incluidas en los diferentes paquetes a
través de ciertos comandos de ayuda.
Además, existe una lista grande de documentación sobre R en la página oficial del software (http://cran.r-project.org/).
Por otro lado, si se tienen consultas más especı́ficas sobre la parte de programación, se puede recurrir a la página web Stack
Overflow (http://stackoverflow.com). En cambio, si las dudas van más enfocadas al análisis de datos, minerı́a de datos,
machine learning, visualización o ciencia de datos, se recomienda recurrir a la página web Cross Validated
(http://stats.stackexchange.com).
UNMSM -2017(2) 3
Introducción al R
n<-15 #integer
5. Tipos de Objetos
n
en R 5.1Vectores
## [1] 15 El objeto más básico es el vector, un conjunto de datos de
la misma clase. c() es usado para crear vectores, además se
class(n) pueden crear vectores vacı́os con la función vector(). El
operador : permite crear una secuencia de datos enteros.
## [1] "numeric"
class(z) class(entidad)
UNMSM -2017(2) 4
Introducción al R
## [1] 1.5 1.3 1.7 un vector con la función names(). Esto permite entender
mejor a lo que refiere cada elemento.
class(peso)
## [1] "numeric"
length(peso)
## [1] 3
y<-5:7 #integer
y Valores Especiales
## [1] 5 6 7 Existen casos especiales en los números, 0/0, 1/0, -1/0.
class(y) 0/0
length(y) 1/0
## [1] 0 0 0 0 0 0 0 0 0 0
Coercion explı́cita
class(nullvector) Los objectos pueden ser forzados a cambiar de tipo de clase
usando la función as.*.
## [1] "numeric"
UNMSM -2017(2) 5
Introducción al R
## NA NA
Valores perdidos
Existen dos tipos de datos perdidos en R.
• NA (Not available), el valor no está disponible o está
perdido.
## $dim
• NaN (Not a number), valor perdido debido a opera-
ciones matemáticas no definidas.
UNMSM -2017(2) 6
Introducción al R
## x y
## x 2 3 4 5 6
## y 1 2 3 4 5
## 3 3
rownames y colnames
Al igual que los vectores, se le pueden dar nombres a las
filas y columnas de una matriz. ## 1 2 1 1 22
UNMSM -2017(2) 7
Introducción al R
## id a~
no tempo temp_prom
## 1 1 2010 verano 21
## 2 2 2010 oto~no 18
## 3 3 2010 verano 24
## 4 4 2011 oto~no 19
## Levels: F M
Per
Per
2010:3
2011:1
Median :20.00
5.4 Data Frames Mean
Es la manera en que se almacena una base de datos que con-
tienen perfiles y variables, las variables pueden ser de dis- Max.
UNMSM -2017(2) 8
Introducción al R
FALSE
4 5 6 7 8 9 10
## [2,] 2 5 8
## [3,] 3 6 9
##
vec
$datos
mpg
## Datsun 710 22.8 4 108.0 93
## Hornet 4 Drive 21.4 6 258.0 110
## Hornet Sportabout 18.7 8 360.0 175
## Valiant 18.1 6 225.0 105
## Duster 360 14.3 8 360.0 245
## Merc 240D 24.4 4 146.7 62
## Merc 230 22.8 4 140.8 95
## Merc 280 19.2 6 167.6 123
UNMSM -2017(2) 9
Introducción al R
4 5 6 7 8 9 10
6. Subsetting
Muchas veces en nuestros análisis debemos seleccionar un
subconjunto especı́fico de un vector, una matriz, un data
frame o una lista. Esto se puede hacer con los siguientes
operadores:
UNMSM -2017(2) 10
Introducción al R
!=, diferentes
ametro
##
UNMSM -2017(2) 11
Introducción al R
ametro
$sexo
7. Operaciones Básicas
## 1 4 9 16 25 36
$sexo
UNMSM -2017(2) 12
Introducción al R
## [1] 16.16667 Ahora, vamos a cargar una base de datos de delicuentes que
w<-c(2,9,5,6) han cometido crimenes menores, los cuales fueron puestos
z<-c(4,7,3,8) en un programa que involucraba conocer a sus v´ıctimas. Si
el programa ha funcionado, los delicuentes no vuelven ha
w+z # Suma elemento por elemento cometer el acto el año próximo. Para esto, empleamos el
siguiente código.
## [1] 6 16 8 14
w*z # Multiplicación elemento por elemento
## [1] 8 63 15 48
w/z # División elemento por elemento
## [,1] [,2] Según 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.
x_matriz*y_matriz # Elemento por elemento criminales$sex<-as.factor(criminales$sex)
levels(criminales$sex)
## [,1] [,2]
## [1,] 3 15 ## [1] "0" "1"
## [2,] 8 24
levels(criminales$sex)<-c("Femenino","Masculino")
x_matriz y_matriz # Verdadera multiplicación
criminales$scheme<-as.factor(criminales$scheme)
## [,1] [,2] levels(criminales$scheme)<-c("no","si")
## [1,] 13 29 criminales$reoff<-as.factor(criminales$reoff)
## [2,] 16 36 levels(criminales$reoff)<-c("no","si")
UNMSM -2017(2) 13
Introducción al R
header
## FC.basal FC.6
## 1 84.2697 91.4634
## 2 84.2697 91.4634
## 3 84.0619 91.1834
## 4 85.6542 91.8788
## 5 87.2093 91.1772
## 6 87.1246 89.7992
8.3 read.xls()
Esta función sirve para leer archivos Excel (extensión .xls
o .xlsx) guardar la información en un data frame en el R.
UNMSM -2017(2) 14
Introducción al R
Sintaxis:
b<-num^2
mi_potencia(num)
## 1 4 9 16 25 36
num<-5
10. Funciones
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
UNMSM -2017(2) 15
Introducción al R
Recursos Adicionales
[1]Santiago Benitez-Vieyra. Introducción al Lenguage R. Modelos Lineales y Fundamentos de Programación, 2010.
URL https://github.com/santiagombv/cursoR.
[2]O’Reilly. Try R. URL http://tryr.codeschool.com/levels/1/challenges/3.
[3]Roger D. Peng. R Programming for Data Science. Leanpub, 2015.
[4]Phil Spector. Data Manipulation with R. Springer Verlag, New York, 2008.
UNMSM -2017(2) 16