Introducción a
R
SISTEMAS INTELIGENTES PARA LA GESTIÓN DE LA EMPRESA
CURSO 2016-2017
Documentación adicional
R Project
[Link]
R for Everyone: Advanced Analytics and Graphics (Jared P. Lander, Addison-Wesley 2013)
[Link]
R-bloggers
[Link]
Datacamp Introduction to R (básico)
[Link]
287229
Coursera “Introducción a Data Science: Programación Estadística con R”
[Link]
2
¿Qué es R?
Herramienta para análisis estadístico, visualización de datos y generación de informes
◦ Aplicaciones en Aprendizaje Automático
Componentes:
◦ ”Núcleo”: intérprete del lenguaje, paquetes esenciales
◦ Entorno de programación RStudio: IDE
Extensiones:
◦ Paquetes adicionales en el repositorio CRAN
◦ RServer
◦ Implementaciones alternativas: Microsoft R (antes Revolution R)
◦ RStudio notebooks
◦ Generación de informes (knitter), gráficos (ggplot2), interactividad (shiny)
3
4
Tipos de datos y variables (I)
1. Tipos dinámicos
◦ numeric, integer, character, Date, logical
2. Asignación <-
3. Colecciones
◦ vector
◦ Colección de elementos, todos del mismo tipo
◦ No tienen dimensión
◦ Las operaciones se aplican a todos los elementos de la colección
◦ Creación: c()
◦ Rangos de valores: :
◦ Acceso: [] (empezando en 1)
◦ list
◦ Los elementos pueden tener diferentes tipos
◦ Creación: list()
4. Valores perdidos u omitidos
◦ Not assigned, missing: NA
◦ Nothing: NULL
5
Tipos de datos y variables (II)
5. Tablas
◦ [Link]
◦ Colección de observaciones (filas) de variables (columnas)
◦ Cada columna es un vector con un nombre asociado (se puede asignar en la creación del objeto)
◦ Las columnas pueden tener tipos diferentes entre sí
◦ Creación: [Link]()
◦ Funciones: nrow, ncol, dim , names, rownames
◦ Acceso a columnas (pueden utilizarse un vector listando los índices o los nombres que se recuperarán)
◦ [] (da como resultado un [Link])
◦ $ (da como resultado un vector)
◦ Acceso a elementos:
◦ [,] (da como resultado un [Link])
◦ Reducción de dimensiones en [Link]: parámetro drop=FALSE de [,]
◦ Listado de primeras filas: head
6. Matrices
◦ matrix
◦ Similar a un [Link], todas las columnas tienen el mismo tipo
◦ Creación: matrix() (especificar valores en primer parámetro, número de filas con nrow=; el número de columnas depende de los valores que se
asignen)
6
Leer datos
.csv
◦ [Link]()
◦ Da como resultado un [Link]
Otros formatos
◦ Bases de datos (ODBC)
◦ Utilizar paquete RODBC: require(RODBC)
◦ Crear conexión: odbcConnect()
◦ Lanzar consultas: sqlQuery() (da como resultado un [Link])
◦ Cerrar conexión: odbcClose()
◦ Sólo una conexión activa
◦ Otras herramientas
◦ SAS, SPSS, Octave
◦ Tablas HTML
◦ Utilizar paquete XML: require(XML)
◦ Cargar datos: readHTMLTable()
◦ Ficheros binarios
◦ Serialización de objetos en R
7
Gráficos
Soporte nativo para gráficos
◦ hist(), plot(), boxplot()
Paquete ggplot2
◦ ggplot(data = <datos>)
◦ +
◦ <especificación de geometría>
◦ geom_histogram
◦ geom_density
◦ geom_point
◦ <especificación de formato, etc.>
◦ aes()
◦ labs()
◦ scale_color_discrete, scale_color_continuous
8
Otros aspectos básicos
Funciones
◦ function
◦ No se especifican tipos de los argumentos ni de retorno
◦ Pueden definirse argumentos por defecto
◦ En la llamada pueden especificarse los argumentos por orden y por asignación
Control de flujo
◦ if() {} else {}
◦ ifelse()
◦ switch()
◦ for() {}
◦ while() {}
◦ apply()
Paquete plyr ([Link]