2. Introducción
● El lenguaje R es ahora el idioma principal para el análisis y estadísticas
sobre este planeta.Este R comienza con lo básico del lenguaje R y
abarca conceptos básicos de análisis.
● Este curso proporciona experiencia práctica para ejecutar análisis
utilizando el lenguaje R.
● Habrá muchas tareas desafiantes y prácticas enfocadas para los alumnos.
3. Que es R?
El desarrollo de R.
R es un conjunto integrado de servicios de software para la manipulación de datos, cálculo y representación
gráfica. Este incluye
• Un manejo eficaz de los datos y la instalación de almacenamiento,
• un conjunto de operadores para los cálculos de matrices, en matrices particulares,
• una gran colección, coherente, integrada de herramientas intermedias para el análisis de datos,
• instalaciones gráficas para el análisis y visualización de datos, ya sea en pantalla o en la versión impresa.
• un lenguaje de programación bien desarrollado, simple y eficaz que incluye condicionales, bucles,
funciones recursivas definidos por el usuario y facilidades de entrada y salida.
http://www.r-project.org/about.html
4. Usando R con otros software
https://rforanalytics.wordpress.com/useful-links-for-r/using-r-from-other-software/
Tableau http://www.tableausoftware.com/new-features/r-integration
Qlik http://qliksolutions.ru/qlikview/add-ons/r-connector-eng/
Oracle R http://www.oracle.com/technetwork/database/database-technologies/r/r-enterprise/overview/index.html
Rapid Miner https://rapid-i.com/content/view/202/206/lang,en/#r
JMP http://blogs.sas.com/jmp/index.php?/archives/298-JMP-Into-R!.html
5. Usando R con otros software
https://rforanalytics.wordpress.com/useful-links-for-r/using-r-from-other-software/
SAS/IML http://www.sas.com/technologies/analytics/statistics/iml/index.html
Teradata http://developer.teradata.com/applications/articles/in-database-analytics-with-teradata-r
Pentaho http://bigdatatechworld.blogspot.in/2013/10/integration-of-rweka-with-pentaho-data.html
IBM SPSS https://www14.software.ibm.com/webapp/iwm/web/signup.do?source=ibm-
analytics&S_PKG=ov18855&S_TACT=M161003W&dynform=127&lang=en_US
TIBCO TERR http://spotfire.tibco.com/discover-spotfire/what-does-spotfire-do/predictive-analytics/tibco-enterprise-runtime-for-r-
terr
6. Algunas ventajas de R
● Código abierto.
● Gratis.
● Gran número de algoritmos y paquetes especialmente para las
estadísticas.
● Flexible.
● muy bueno para la visualización de datos.
● Excelente comunidad.
● En rápido crecimiento.
● Se puede utilizar con otro software.
7. Algunas desventajas de R
● En la memoria (RAM) de uso
● Empinada curva de aprendizaje
● Algunos departamentos de TI fruncen el ceño en código abierto
● Documentación detallada
● Soporte técnico
● Evolución de los ecosistemas para las empresas
8. Soluciones R
En memoria (RAM) usage specialized packages, in database
computing
steep learning curve TRAINING !!!
some IT departments frown on open source TRAINING and education!
verbose documentation CRAN View , R Documentation
tech support expanding pool of resources
evolving ecosystem for corporates getting better with MS et al
9. R usado por el gobierno.
● En los primeros días del desastre de Deepwater Horizon, el NIST utilizó el análisis de la
incertidumbre en armonizar las estimaciones de derrame de varias fuentes, y para proporcionar
rangos de estimaciones a otras agencias y medios de comunicación.
● Antes de nuevos fármacos son permitidos en el mercado, la FDA trabaja con las empresas
farmacéuticas para verificar la seguridad y eficacia a través de ensayos clínicos. A pesar de la
falsa percepción de que sólo el software comercial puede ser utilizado, muchas empresas
farmacéuticas están utilizando código abierto R para analizar los datos de los ensayos clínicos.
● El Servicio Meteorológico Nacional utiliza R para la investigación y el desarrollo de modelos
para predecir las inundaciones fluviales.
● La Oficina recién formado Consumidor Financiero Protección - liberado de las restricciones de
una infraestructura de TI legado - se defiende el uso de las tecnologías de código abierto en el
gobierno.
● Los gobiernos locales también están construyendo aplicaciones basadas en datos. El Instituto
Estuario SF utiliza R y Google Maps para proporcionar una herramienta para el seguimiento de
la contaminación en el área de San Francisco Bay.
http://gsnmagazine.com/node/26483?c=cyber_security
10. R usado por Telecom
● Churn usando
Analisis en las redes sociales
http://www.slideshare.net/dataspora/social-network-analysis-for-telecoms
11. R utilizados por los seguros.
● ChainLadder - Reserva de métodos en R. El paquete proporciona caballa, Munich-, Manos a la Obra, y los métodos
multivariantes de cadena con escalera, así como los métodos de ajuste de curvas LDF de modelos que reservan con sede
en GLM Dave Clarkmbiente:
● ChainLadder –Métodos en R. El paquete proporciona caballa, Munich-, Manos a la Obra, y los métodos multivariados en
cadena de la escalera, así como los métodos de ajuste de curvas LDF de Dave Clark y Reserva de GLM-basada
reservando modelos.
● cplm Algoritmos Monte Carlo EM y métodos bayesianos para el montaje de modelos lineales Tweedie compuesto
Poisson.
● lossDev –Un modelo de desarrollo la pérdida de series de tiempo bayesiano. Las características incluyen la distribución-t
sesgado con el parámetro de escala variable en el tiempo, reversible Jump MCMC para determinar la forma funcional de
la trayectoria de consumo, y una ruptura estructural en este camino; por Christopher W. Leyes y Frank A. Schmid
● Actuar Distribuciones de pérdida de modelado, la teoría del riesgo (incluyendo la teoría de la ruina), la simulación de
modelos jerárquicos compuestos y la teoría de la credibilidad comprobar hacia fuera el paquete ACTUAR por C. Dutang,
V. Goulet y M. Paloma.
● favir: Formateados Actuariales Viñetas en R. FAViR reduce la curva de aprendizaje del medio ambiente: R. Se trata de
una serie de documentos Sweave revisadas por pares que utilizan un estilo coherente.mondate: R packackge to keep
track of dates in terms of months
● lifecontingencies –Paquete para llevar a cabo la evaluación actuarial de las contingencias de la vida
● Introduction to R for Actuaries por Nigel de Silva
Y http://www.rininsurance.com/
13. R en las finanzas.
http://cran.r-project.org/web/views/Finance.html
CRAN Es una Vista de tareasque contiene una lista de los paquetes útiles para el trabajo empírico en Finanzas, agrupados por
topic.
● PerformanceAnalytics contiene un gran número de funciones para los cálculos de rendimiento de cartera y gestión de
riesgos.
● Esta CRAN Contiene una vista de tareas y de paquetes de útiles para el trabajo empírico en
Finanzas, agrupados por temas.
● La suite Rmetrics de paquetes comprende Farma, fAsianOptions, FASSETS, fBasics, fBonds,
TimeDate (antes: fCalendar), fCopulae, fExoticOptions, fExtremes, fGarch, fImport, fNonlinear,
fOptions, fPortfolio, fRegression, series de tiempo (antes: fSeries), fTrading, fUnitRoots y
contiene un gran número de funciones relevantes para diferentes aspectos de las finanzas
empírico y computacional.
● El paquete RQuantLib ofrece varias funciones de valoracion de opciones y es tan bueno como
algunas funciones de renta fija del proyecto QuantLib a R.
● El paquete quantmod ofrece una serie de funciones para el modelo cuantitativo de las finanzas,
así como acqusition datos, trazado y otros servicios.
● El paquete de portfolio contiene clases para la gestión de cartera de renta variable;
● la portfolioSim construye un marco de simulación relacionada. El backtest ofrece herramientas
para explorar hipótesis basada en la cartera sobre instrumentos financieros. El paquete
stockPortfolio proporciona funciones para el índice único, la correlación constante y modelos
multigrupo. El paquete pa ofrece funcionalidad atribución de los resultados para las carteras de
renta variable.
● El paquete de performance
14. R en la industria farmacéutica.
http://blog.revolutionanalytics.com/2013/08/r-drug-development-and-the-fda.html
Opening the Doors to Open Source Programming in Drug Development.
R: Regulatory Compliance and Validation Issues A Guidance Document for the Use of R in Regulated Clinical Trial Environments in which he concluded that
useR 2012 FDA statistician Jea Brodsky presented a poster described how FDA scientists “use R on a daily basis” and have themselves written R packages
for use at various stages in the drug submission process.
Open Source Software in the Biopharma Industry: Challenges and Opportunities,
15. R en la industria farmacéutica.
http://web.quanticate.com/bid/102741/Using-the-Statistical-Programming-Language-R-in-the-Pharma-
Industry
16. R en la industria farmacéutica.
http://cran.r-project.org/web/views/ClinicalTrials.html
Esta task view recopila información sobre los paquetes específicos para el diseño de R, monitorea y
analiza datos en ensayos clínicos Se centra en la inclusión de paquetes de diseño de ensayos
clínicos y la vigilancia en los paquetes generales además de análisis de datos para un tipo específico
de diseño
17. Compañias que usan R
from http://www.revolutionanalytics.com/companies-using-r
ANZ, the fourth largest bank in Australia, using R for credit risk analysis
Bank of America uses R for reporting.
The Consumer Financial Protection Bureau uses R for data analysis.
Facebook
Facebook and R:
● Analysis of Facebook Status Updates
● Facebook's Social Network Graph
● How Google and Facebook are using R
● Predicting Colleague Interactions with R
22. RStudio
RStudio Desktop le permite las siguientes ventajas de la consola R nativa
● El resaltado de sintaxis, autocompletado de código, y la sangría inteligente
● Ejecutar código R directamente desde el editor de código fuente
● Rápidamente salta a la definición de funciones.
● Administre fácilmente múltiples directorios de trabajo utilizando proyectos
• Depurador interactivo para diagnosticar y corregir los errores rápidamente
• Herramientas de desarrollo paquete Extensas
http://www.rstudio.com/products/
23. RStudio
El servidor RStudio le permite ofrecer una interfaz basada en el navegador (the
RStudio IDE) a una version de R que se ejecuta en un servidor linux. Deploying R y
Rstudio en un servidor tiene una serie de beneficios, incluyendo:
• La posibilidad de acceder a su área de trabajo R desde cualquier ordenador
en cualquier lugar;
• Fácil intercambio de código, datos y otros archivos con los colegas;
• Permitir que varios usuarios compartan el acceso a los más poderosos
recursos informáticos (memoria, procesadores, etc.) disponibles en el
servidor bien equipado;
• Instalación y configuración centralizada de R, paquetes R, TeX, y otras
librerías de soporte
29. Comunidad R
Grupos de mail http://www.r-project.org/mail.html
R-announce
R-help
R-package-devel
R-devel
R-packages
Special Interest Groups
● Stack Overflow [r]
● Twitter #rstats
● Blogs at http://www.r-bloggers.com/ (573 blogs)
36. Demo-
Objetos Básicos sobre R Console
• +
• -
• Log
• Exp
• *
• /
• ()
Hint- Up arrow gives you last
typed command
Functions-
ls() – what objects are here
rm(“foo”) removes object
named foo
Assignment
Using = or -> assigns object
names to values
38. Funciones y bucles.
• Función
functionajay=function(a)(a^2+2*a+1)
Hint: Always match brackets
Each ( deserves a )
Each { deserves a }
Each [ deserves a ]
39. Otras fuentes para aprender R
swirlstats
http://swirlstats.com/
datacamp
https://www.datacamp.com/
codeschool
http://tryr.codeschool.com/
coursera
https://www.coursera.org/course/compdata
https://www.coursera.org/course/rprog
40. Buenas prácticas de codificación
•Utilice # para hacer comentarios
•Utilice git para el control de versiones
•Utilice Rstudio para múltiples líneas de código
41. Funciones en R
• Funciones personalizadas
• Código fuente para una función
• La comprensión de ayuda? , ??
43. Entorno
• ls() enumera los objetos
• -rm()-elimina un objeto
• gc() -hace la recolección de basura y
libera la memoria
44. Desarrollo.
• ls() -lista de objecto
• rm()-remover un objecto
• gc() -hace la recolección de basura y
libera la memoria
45. Desarrollo
ls() –Lista de objetos
rm()-Remover un objeto
gc() -hace la recolección de basura y libera la
memoria
46. Sistema de archivos
getwd()- Obtener el directorio de trabajo
setwd()- Establecer o cambiar el directorio de
trabajo
dir() - Enumera los archivos en el directorio
de trabajo
47. File System
getwd()- get working directory
setwd()- set or change working directory
dir() - lists files in working directory
48. File System
getwd()- get working directory
setwd()- set or change working directory
dir() - lists files in working directory
49. File System
getwd()- get working directory
setwd()- set or change working directory
dir() - lists files in working directory
57. readr desde Hadley
El objetivo de readr es proporcionar una forma rápida y agradable para leer los datos tabulares en R. Las funciones
más importantes son::
● Lee desde determinados archivos : read_delim(), read_csv(), read_tsv(), read_csv2().
● Leer archivos de ancho fijo: read_fwf(), read_table().
● Lee líneas: read_lines().
● Leer archivo completo: read_file().
● Re-analizar trama de datos existente: type_convert().
https://github.com/hadley/readr
59. Readxl desde Hadley
Readxl soporta tanto por el formato.xls formato y lo moderno xml-based .xlsx formato.
.xlssupport es posible con la bibloteca libxls C , que abstrae muchas de las complejidades
del formato binario.Analizar.xlsx, utilizamos la bibloteca RapidXML C++
read_excel("my-old-spreadsheet.xls")
read_excel("my-new-spreadsheet.xlsx")
read_excel("my-spreadsheet.xls", sheet = "data")
read_excel("my-spreadsheet.xls", sheet = 2)
read_excel("my-spreadsheet.xls", na = "NA")
https://github.com/hadley/readxl
63. Algunos aprendizajes
• Paquetes múltiples pueden hacer lo mismo más rápido o más lento en R
• Conociendo el paquete adecuado es la diferencia esencial como un
científico de datos
• Poner código dentro system.time () ayuda a la velocidad medida
También vemos http://adv-r.had.co.nz/Profiling.html formas avanzadas para spped Código de.
65. Creando DSN (en Windows)
Un nombre de origen de datos (DSN) es el nombre lógico
que se utiliza por Open Database Connectivity (ODBC)
para referirse a la unidad y otra información que se
requiere para acceder a los datos. El nombre es el uso de
Internet Information Server para una conexión a una fuente
de datos ODBC, como una base de datos Microsoft SQL
Server.
https://support.microsoft.com/en-us/kb/kbview/300596
66. Creando DSN (En Windows)
1. Haga clic en Inicio, seleccione Panel de control, haga doble clic en Herramientas administrativas y, a continuación, haga
doble clic en Orígenes de datos (ODBC).
2. Haga clic en la ficha DSN de sistema y, a continuación, haga clic en Agregar.
3. Haga clic en el controlador de base de datos que se corresponde con el tipo de base de datos a la que se está
conectando y, a continuación, haga clic en Finalizar.
4. Escriba el nombre de la fuente de datos. Asegúrese de que elija un nombre que pueda recordar. Usted tendrá que utilizar
este nombre después.
5. Haga clic en Seleccionar.
6. Haga clic en la base de datos correcta y, a continuación, haga clic en Aceptar.
7. Haga clic en Aceptar y, a continuación, haga clic en Aceptar.
https://support.microsoft.com/en-us/kb/kbview/300596
72. Desde Databases
El RODBC
paquete proporciona el acceso a las bases de datos a través de una
interfaz ODBC
Las primeras funciones son:
• odbcConnect(dsn, uid="", pwd="") Abrir un conexion
desde una database ODBC.
• sqlFetch(channel, sqltable ) Leer la tabla desde la
database ODBC.
Hint- a good site to revise R
http://www.statmethods.net
73. sqlite
http://cran.r-project.org/web/packages/RSQLite/RSQLite.pdf incrusta el motor de base de datos SQLite en I y proporciona una
interfaz compatible con el paquete de DBI. el motor de base de datos SQLite en I y proporciona una interfaz compatible con el
paquete de DBI.
SQLite es un libreria este implementa un self-contained, serverless, zero-configuration, transactional SQL motos
database.
SQLite es lel most widely deployed motor database en el mundo.
library(RSQLite)
con <- dbConnect("SQLite", dbname = "sample_db")
# read csv file into sql database
dbWriteTable(con, name="sample_data", value="sample_data.csv", row.names=FALSE, header=TRUE, sep = ",")
http://cran.r-project.org/web/packages/sqldf/index.html Manipular R data marcos usando SQL
read.csv.sql en el sqldf paquete importaciones de datos en una base de datos SQLite temporal y luego lee en R.
76. Otras databases
Teradata https://github.com/Teradata/teradataR
PostgreSQL http://cran.r-project.org/web/packages/RPostgreSQL/
MongoDBhttp://cran.r-project.org/web/packages/mongolite/index.html
couchDBhttp://cran.r-project.org/web/packages/couchDB/index.html
MonetDBhttp://cran.r-project.org/web/packages/MonetDB.R/index.html
77. Otras fuentes de datos
Cassandra con R http://cran.r-project.org/web/packages/RCassandra/RCassandra.pdf
Neo4j con R
http://things-about-r.tumblr.com/post/47392314578/venue-recommendation-a-simple-use-case-connecting-r
R conHadoop Stack https://github.com/RevolutionAnalytics/RHadoop/wiki
● Nuevo! ravro – lee y escribe s en formato avro .
● plyrmr – Nivel alto plyr-like procesamiento de datos-plyr como para datos estructurados, impulsado, por rmr
● rmr – proporcionar funcionalidad Hadoop MapReduce en R
● rhdfs - funciones que proporcionan la gestión de archivos de la HDFS desde dentro de R
● rhbase - funciones que proporcionan gestión de base de datos para el HBase distruido database desde dentro
de R
https://amplab-extras.github.io/SparkR-pkg/ SparkR ies un paquete de R usando Spark desde adentro R.
78. Web Scraping
Web scraping (web cosecha o web extración data) es una técnica de software de extracción de información de sitios
web.
Ejemplo - python (scrapy y bella sopa )
79. Web Scraping
•Líneas de lectura
Hint : R entre mayúsculas y minúsculas
Líneas de lectura no es el mismo.
Hint : Usa cabeza () y cola () para
inspeccionar objetos
Otros paquetes son XML y Curl
Caso de estudio - http://decisionstats.com/2013/04/14/using-r-for-cricket-analysis-
rstats/
80. curl
CURL es un proyecto de software que proporciona una herramienta de biblioteca y de línea de comandos para la
transferencia de datos a través de diversos protocolos.El cURL, proyecto produce dos productos libcurl y cURL.
EL paquete Rcurl es una R-interface de la libreria libcurl que proporciona, facilidades en HTTP . Esto nos
permite descargar archivos desde servidores Web, formularios de correos, de uso This allows us HTTPS (La
seguridad HTTP), usar conexiones persistentes, cargar archivos, utilizar el contenido binario, manejar
redirecciones, autenticación de contraseña, etc.
Los puntos de entrada de alto nivel primaria son
● getURL()
● getURLContent()
● getForm()
● postForm()
http://www.omegahat.org/RCurl/RCurlJSS.pdf
83. Una nota en canalización usando
magrittr
Esta opción estilística tiene varias ventajas:
1. Requisitos reducidos de parentisis anidadas
2. Orden de las operaciones funcionales ahora lee de izquierda a derecha
3. Estilo de organización del código que se puede mejorar
La libreria usas un operador %>% Que basicamente dice R to tomar el valor
de lo que está a la izquierda y pasar a la derecha como argumento
http://www.econometricsbysimulation.com/2014/07/more-readable-code-with-
pipes-in-r.html
1 + 8 %>% sqrt
# Returns 3.828427
# Rather than
(1 + 8) %>% sqrt
# [1] 3
84. Una nota en canalización usando
magrittr
let (|>) x f = f x.
some_value |> some_function other_value
babynames %>%
filter(name %>% substr(1, 3) %>% equals("Ste")) %>%
group_by(year, sex) %>%
summarize(total = sum(n)) %>%
qplot(year, total, color = sex, data = ., geom = "line") %>%
add(ggtitle('Names starting with "Ste"')) %>%
print
INTERPRETE
1. Tomando el data, entonces
2. es tal que el nombre de sub-
secuencia de caracteres 1-3
iguales "Ste", entonces
3. Grupo por año y sexo, entonces
4. resumirlo calculando la suma
total para cada grupo, entonces
5. trazar los resultados s,
coloreando por sexo, a
continuación,
6. Añadir el titulo, entonces
7. Imprimirlo a la lona.
89. Paquete ff.
http://cran.r-project.org/web/packages/ff/index.html
El paquete ff proporciona estructuras de datos que se almacenan en el disco, pero se comportan (casi) como si
estuvieran en la RAM mediante la asignación transparente solamente una sección (tamaño de página) en la memoria
principal - el consumo de memoria virtual de efectivo por objeto
http://cran.r-project.org/web/packages/ffbase/index.html
Basica (statistical) funcionalidad para el paquete ff
Ejemplo. http://www.bnosac.be/index.php/blog/22-if-you-are-into-large-data-and-work-a-lot-package-ff
> require(ffbase)
> hhp <-
read.table.ffdf(file="/home/jan/Work/RForgeBNOSAC/github/RBelgium_HeritageHealthPri
ze/Data/Claims.csv", FUN = "read.csv", na.strings = "")
Tambien Vemos http://cran.r-project.org/web/packages/bigmemory/index.html
Crear, almacenar, acceder y manipular matrices masivas. Las matrices se asignan a la memoria compartida y puede
utilizar archivos asignados en memoria. Paquetes biganalytics, bigtabulate, sincronicidad y bigalgebra proporcionar
funcionalidad
90. RevoScaleR paquete
RevoScaleR tiene su propio formato de archivo, XDF, que es capaz de acceder rápidamente a los datos por fila o por
columna y leer algunos datos de forma secuencial. XDF file datase almacena en el mismo formato binario utilizado en
la memoria, lo que elimina la necesidad de la conversión cuando se pone en la memoria.
http://www.revolutionanalytics.com/revolution-r-enterprise-scaler
91. rhdf5
Este R/Bioconductor paquete proporciona una interfaz entre HDF5 y características principales de R. HDF5 son la capacidad de
almacenar y acceder a muy grande y / o conjuntos de datos complejos y una amplia variedad de metadatos en almacenamiento
masivo (disco) a través de un formato de archivo completamente
portátil.http://www.bioconductor.org/packages/release/bioc/html/rhdf5.html
HDF5 es un modelo de datos, biblioteca, y formato de archivo para almacenar y gestionar los datos. Es compatible con una
variedad ilimitada de tipos de datos, y está diseñado para flexible y eficiente de E / S y de alto volumen y datos complejos. HDF5
es portátil y es, lo que permite aplicaciones extensibles para evolucionar en su uso de HDF5.
https://www.hdfgroup.org/HDF5/
HDF5 simplifica la estructura de archivos para incluir sólo dos grandes tipos de objeto:
● Datasets, que son matrices multidimensionales de un tipo homogéneo
● Groups, que son estructuras de contenedores que pueden albergar conjuntos de datos y otros grupos
92. rhdf5
This R/Bioconductor package provides an interface between HDF5 and R. HDF5's main features are the ability to store and
access very large and/or complex datasets and a wide variety of metadata on mass storage (disk) through a completely portable
file format.
http://www.bioconductor.org/packages/release/bioc/html/rhdf5.html
HDF5 is a data model, library, and file format for storing and managing data. It supports an unlimited variety of datatypes, and is
designed for flexible and efficient I/O and for high volume and complex data. HDF5 is portable and is extensible, allowing
applications to evolve in their use of HDF5.
https://www.hdfgroup.org/HDF5/
HDF5 simplifies the file structure to include only two major types of object:
● Datasets, which are multidimensional arrays of a homogeneous type
● Groups, which are container structures which can hold datasets and other groups
93. Inspección de Calidad de los Datos
• head()
• tail()
• names()
• str()
• objectname[I,m]
• objectname$variable
94. Inspección de Calidad de los Datos
Hint- Try this code please
data(mtcars)
head(mtcars,10)
tail(mtcars,5)
names(mtcars)
str(mtcars)
mtcars[1,]
mtcars[,2]
mtcars[2,3]
mtcars$cyl
102. Paquete stringr
stringr:
• Simplifica las operaciones de cadena mediante la eliminación de opciones que no necesitas 95% de las veces (el otro 5% de
las veces que puedas funciones de R o stringi base).
• Utiliza nombres de las funciones constantes y argumentos.
• Produce salidas que pueden ser fácilmente utilizados como insumos.
● str_dup() para duplicar los caracteres dentro de una cadena.
● str_trim() para eliminar los espacios en blanco iniciales y finales.
● str_pad() para rellenar una cadena
● str_c() es equivalente a paste() BUT
● str_length() es equivalente a nchar() BUT
● str_sub() es equivalente a substr() pero ?
● PERO LEA VIÑETAS en un paquete
http://cran.r-project.org/web/packages/stringr/vignettes/stringr.html
104. Data Selección
• object[l,m] Da el valor en l fila y columna m.
• object[l,] dará a todos los valores de l fila
• object$varname da todos los valores de
varname
• Subconjunto ayuda en la selección
106. Combinación split apply
http://www.jstatsoft.org/v40/i01/paper
La aplicación de split-apply es una estrategia de división, En donde se rompe un gran problema en
trozos manejables, opera en cada pieza de forma independiente y luego pone todas las piezas
juntas.
107. Familia Apply
lapply(X, FUN, ...)
sapply(X, FUN, ..., simplify = TRUE, USE.NAMES = TRUE)
vapply(X, FUN, FUN.VALUE, ..., USE.NAMES = TRUE)
Apply a Function over a List or Vector
Description
lapply returns a list of the same length as X, each element of which is the result of applying FUN to the corresponding element of
X.
sapply is a user-friendly version and wrapper of lapply by default returning a vector, matrix or, if simplify = "array", an array if
appropriate, by applying simplify2array(). sapply(x, f, simplify = FALSE, USE.NAMES = FALSE) is the same as lapply(x, f).
vapply is similar to sapply, but has a pre-specified type of return value, so it can be safer (and sometimes faster) to use.
https://stat.ethz.ch/R-manual/R-devel/library/base/html/lapply.html
108. Apply Family
1
2
3
4
5
6
7
base::apply Apply Functions Over Array Margins
base::by Apply a Function to a Data Frame Split by Factors
base::eapply Apply a Function Over Values in an Environment
base::lapply Apply a Function over a List or Vector
base::mapply Apply a Function to Multiple List or Vector Arguments
base::rapply Recursively Apply a Function to a List
base::tapply Apply a Function Over a Ragged Array
Desde https://nsaunders.wordpress.com/2010/08/20/a-brief-introduction-to-apply-in-r/
(Una alternativa de título- la lectura de los blogs que a veces s mejor que leer la documentación para R)
Si usted enciende su R consola, escriba "?? aplicar" y desplácese hacia abajo para las funciones en el paquete básico, verás algo
como esto.
110. split apply combine
Paquete plyr
http://seananderson.ca/courses/12-plyr/plyr_2012.pdf
El formato básico es de 2 letras seguidas por capas (). La primera letra se refiere al formato y la
segunda a la salida de formato. Las 3 cartas principales son: 1. d = trama de datos 2. a = array
(incluye matrices) 3. l = lista Así, significa ddply: tomar una trama de datos, dividirlo, hacer algo a
ella, y devuelve una trama de datos .
Transformar actos como normalmente como la función de base R y que modifica una trama de
datos existente. resuma crea una nueva (por lo general)
116. data.table
búsqueda binaria en lugar de escaneos
de vectores
http://cran.r-project.org/web/packages/data.table/vignettes/datatable-intro.pdf
117. data.table
EL DT[i,j,by] comando tiene tres partes :
i, j y por.
Si tu piensas en la terminología
SQL ,
la i corresponde al DONDE,
j to SELECCIÓN
Por el GROUP BY.
Nosotros hablamos sobre los comandos d b
“Tomando DT, bconjunto de las filas utilizando‘i’,
Entonces calculamos ‘j’ agrupados por‘by’”.
http://blog.datacamp.com/data-table-r-tutorial/
119. 6 FORMAS DE HACER LA
MISMA COSA EN R
• un pequeño caselet
http://stackoverflow.com/questions/31100579/how-to-do-a-crosstab-with-two-categorical-variables-
but-populate-it-with-the-mea
120. Manipulación sqldf.
https://github.com/ggrothendieck/sqldf
Sqldf tramas de datos, optimizados para mayor comodidad. SQL statements El usuario
simplemente especifica una sentencia SQL en I utilizando nombres de marcos de datos en lugar
de nombres de tabla y una base de datos con los diseños de tabla apropiado / esquema que se
crea automáticamente, las tramas de datos se cargan automáticamente en la base de datos, se
lleva a cabo la sentencia SQL especificada, el resultado se lee de nuevo en R y la base de datos
se elimina automáticamente todo detrás de las escenas que hacen la existencia de la base de
datos transparente para el usuario que sólo especifica la sentencia SQL
122. Combinando el uso de Data Table
data.tables puede se combinado usando merge() function
merge(dt1, dt2, all = FALSE, all.x = TRUE,
all.y = TRUE)
where,
dt1, first data.table
dt2, second data.table
all, logical; if all = TRUE then this performs a full
outer join
all.x, logical; if all.x = TRUE then this performs a
left outer join
all.y, logical; if all.y = TRUE then this performs a
right outer join
124. Combinando el uso de Data Table
Nota
html output using knit package/button in RStudio
Puede ser abierta en browser
Puede ser publicada y compartida Rpubs
126. Transportando usando data.table
data.tables puede ser reconfigurado usando el melt y dcast funciones:
● melt: Wide-to-long (melting) -
● Usage: melt(data, id.vars, measure.vars, variable.name = "variable", value.name
= "value", ...)
Donde,
data A data.table to melt
id.vars data.table para fundir
id.vars vector de variables de identificación; si falta, todas las columnas no identificación se asignan
measure.vars vector de variables de medida; si falta, todas las columnas no identificación se
asignan
variable.name nombre para la columna nombres variable medida
value.name nombre para la columna fundida valores de datos... argumento avanzado
para las funciones melt
129. dcast a data.table
● dcast.data.table: Long-to-wide (casting)
Uso: dcast.data.table(data, formula, fun.aggregate = NULL, ...)
Donde,
data A molten data.table
Formula Una fórmula de la forma LHS ~ RHS to cast, eg: var1 + var2 ~ var3. La primera varía más
lento, y el último más rápido. "...”representa todas las otras variables no usadas en la formula y ".” no
representa un variable
fun.aggregate Función de agregación necesaria si las variables no identifican una sola
observación para cada celda de salida... Otros argumentos avanzados.
131. Data Visualization
.
Data visualization es la presentación de los datos en un formato pictórica o gráfica para entender la información más
fácil y rápidamente
la efectiva Visualización ayuda a los usuarios en el análisis y el razonamiento sobre los datos y las pruebas. Hace
datos complejos más accesible, comprensible y utilizable.
https://www.coursera.org/course/datavisualization
135. Algunos principios de la Data Viz
Edward Tufte
http://thedoublethink.com/2009/08/tufte%E2%80%99s-principles-for-visualizing-quantitative-information/
1. La representación de los números, mide como físicamente en la superficie
de la misma gráfica, debe ser directamente proporcional a las cantidades
numéricas representados
2. Etiquetado claro, detallado y minucioso debe utilizar para derrotar a la
distorsión gráfica y la ambigüedad. Escriba explicaciones de los datos sobre el
propio gráfico. Etiquetar los eventos importantes en los datos.
3. Mostrar la variación de datos, no diseñar variación.
4. En las pantallas de series de tiempo de dinero, desinflado y unidades
estandarizadas de medición monetaria son casi siempre mejor que las
unidades nominales.
5. El número de portadoras de información dimensiones (variables)
representados no debe exceder el número de dimensiones en los datos.
Los gráficos no deben citar los datos fuera de contexto.
136. Algunos principios de Data Viz
Edward Tufte
http://thedoublethink.com/2009/08/tufte%E2%80%99s-principles-for-visualizing-quantitative-information/
1. Por encima de todos los datos de otra serie.
2. Maximizar la proporción de tinta datos.
3. Borrar datos no-tinta.
4. Borre redundante de tinta datos.
5. Revisar y editar
137. Principios de diseño Dashboard .
Stephen Few
http://www.perceptualedge.com/articles/Whitepapers/Common_Pitfalls.
pdf
http://courses.ischool.berkeley.edu/i247/s10/lectures/Few-
Dashboards.pdf
(1) No Scrolling
(2) Give Context
138. Data Science
Stephen Few
Cuando necesite más potencia de cálculo, tres opciones posibles:
1.Vuelva a colocar el equipo con uno que es más poderoso
2.Agregar más equipos
3. Actualizar el equipo que usted tiene que hacerlo más potente
Cuando necesite más potencia humana, ¿cuáles son sus opciones?
1.Reemplace el empleado con el que es más productivo
2.Añadir más gente
3.Ayude a su empleado actualizar habilidades para hacerle más
productivo
139. Principios de los diseños Dashboard
Hay tres preguntas clave:
1. ¿Quién es mi audiencia?
2. ¿Qué valor tendrá el salpicadero agregar?
3. ¿Qué tipo de tablero estoy creando?
140. Data Visualization in R
R tiene uno de los mejores visualizaciones de
datos para software estadístico