what is r in spanish
TRANSCRIPT
R ppt 1
BETTER DECISIONS FASTER STATSDecisionStats
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.
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
Usando R con otros softwarehttps://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
Usando R con otros softwarehttps://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&dy
nform=127&lang=en_US
TIBCO TERR
http://spotfire.tibco.com/discover-spotfire/what-does-spotfire-do/predictive-analytics/tibco-enterprise-runtime-for-r-terr
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.
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
Soluciones REn memoria (RAM) usage specialized packages, in database computingsteep learning curve TRAINING !!!some IT departments frown on open source TRAINING and education!verbose documentation CRAN View , R Documentationtech support expanding pool of resourcesevolving ecosystem for corporates getting better with MS et al
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
R usado por Telecom
● Churn usando
Analisis en las redes sociales
http://www.slideshare.net/dataspora/social-network-analysis-for-telecoms
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/
R en las finanzas.http://www.rinfinance.com/
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
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,
R en la industria farmacéutica.http://web.quanticate.com/bid/102741/Using-the-Statistical-Programming-Language-R-in-the-Pharma-Industry
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
Compañias que usan Rfrom 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 and R:
● Analysis of Facebook Status Updates
● Facebook's Social Network Graph
● How Google and Facebook are using R
● Predicting Colleague Interactions with R
CRAN
107 sites in 49 regions
Non CRANhttp://www.rdocumentation.org/
Github https://github.com/trending?l=R
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/
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
RStudio - Interface
Entorno a R
Documentación en R http://cran.r-project.org/manuals.html
Manuales
Documentación en R
Vignettes
CRAN Vistas.http://cran.r-project.org/web/views/
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)
Stack Overflow http://stackoverflow.com/questions/tagged/r
Twitterhttps://twitter.com/search?q=rstats&src=sprv
Ayuda adentro de R
?”keyword”
??”keyword”
Ejemplo- > ?kmeans
> ??kmeans
Introducción a R
> Sys.Date()[1] "2015-05-10"> Sys.time()[1] "2015-05-10 18:28:32 IST"
R como una calculadora? Matemática Básica R Console
• +• -• Log• Exp• *• /• ()
• mean• sum• sd• log• median• exp
Demo- Matemática básica sobre R Console
• +• -• Log• Exp• *• /
Hint- Ctrl +L clears screen
Demo- Objetos Básicos sobre R Console
• +• -• Log• Exp• *• /• ()
Hint- Up arrow gives you lasttyped command
Functions- ls() – what objects are hererm(“foo”) removes object named foo Assignment Using = or -> assigns object names to values
Funciones y bucles • Bucles Para (número es 1:5){ imprimir (número) }
Funciones y bucles.• Funciónfunctionajay=function(a)(a^2+2*a+1)
Hint: Always match brackets
Each ( deserves a )
Each { deserves a }Each [ deserves a ]
Otras fuentes para aprender R
swirlstatshttp://swirlstats.com/
datacamphttps://www.datacamp.com/
codeschoolhttp://tryr.codeschool.com/
courserahttps://www.coursera.org/course/compdatahttps://www.coursera.org/course/rprog
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
Funciones en R• Funciones personalizadas• Código fuente para una función• La comprensión de ayuda? , ??
TRABAJO EN CASA !
Entorno
• ls() enumera los objetos• -rm()-elimina un objeto• gc() -hace la recolección de basura y
libera la memoria
Desarrollo.• ls() -lista de objecto• rm()-remover un objecto• gc() -hace la recolección de basura y
libera la memoria
Desarrollo
ls() –Lista de objetosrm()-Remover un objetogc() -hace la recolección de basura y libera la memoria
Sistema de archivos
getwd()- Obtener el directorio de trabajosetwd()- Establecer o cambiar el directorio de trabajodir() - Enumera los archivos en el directorio de trabajo
File System
getwd()- get working directorysetwd()- set or change working directorydir() - lists files in working directory
File System
getwd()- get working directorysetwd()- set or change working directorydir() - lists files in working directory
File System
getwd()- get working directorysetwd()- set or change working directorydir() - lists files in working directory
Asignación
• objectname=read.csv(filepath,parameters)OR objectname<-read.csv(filepath,parameters)
Data Input
• read.table() or read.csv()• read.spss()• read.sas7bdat()
read.table()
https://stat.ethz.ch/R-manual/R-devel/library/utils/html/read.table.html
Formatos estadísticos• read.spss from paquete extranjero.• Paquete read.sas7bdat from sas7bdat
Entrada manual
Edición manual
Edición manual.
readr desde HadleyEl 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
Readr Hadley
Source Data - https://bit.ly/dsdata
https://github.com/hadley/readr
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
data.table
fread es la manera más rápida de leer los datos
data.table
fread es la manera más rápida de leer los datos
data.table
fread es la manera más rápida de leer los datos
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.
Creando DSN
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
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
Creando DSN
Creando DSN
Creando DSN
Creando DSN
RODBC> library(RODBC)> odbcDataSources()> ajay=odbcConnect(“MySQL”,uid=”root”,pwd=”XX”)> ajay> sqlTables(ajay)>tested=sqlFetch(ajay,”host”)
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
sqlitehttp://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.
A Detour to SQL
RMySQLinstall.packages("RMySQL")library(RMySQL)
mydb = dbConnect(MySQL(), user='user', password='password', dbname='database_name', host='host')
dbListTables(mydb)
dbListFields(mydb, 'some_table')
dbSendQuery(mydb, 'drop table if exists some_table, some_other_table')
dbWriteTable(mydb, name='table_name', value=data.frame.name)
Otras databases
Teradata https://github.com/Teradata/teradataR
PostgreSQL http://cran.r-project.org/web/packages/RPostgreSQL/
MongoDB http://cran.r-project.org/web/packages/mongolite/index.html
couchDB http://cran.r-project.org/web/packages/couchDB/index.html
MonetDB http://cran.r-project.org/web/packages/MonetDB.R/index.html
Otras fuentes de datosCassandra con R http://cran.r-project.org/web/packages/RCassandra/RCassandra.pdf
Neo4j con Rhttp://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.
Web ScrapingWeb 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 )
Web Scraping
•Líneas de lectura Hint : R entre mayúsculas y minúsculasLíneas de lectura no es el mismo.
Hint : Usa cabeza () y cola () para inspeccionar objetos
Otros paquetes son XML y CurlCaso de estudio - http://decisionstats.com/2013/04/14/using-r-for-cricket-analysis-rstats/
curlCURL 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
Rcurl
XML
Una nota en canalización usando magrittr
Esta opción estilística tiene varias ventajas: 1. Requisitos reducidos de parentisis anidadas2. Orden de las operaciones funcionales ahora lee de izquierda a derecha3. 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 argumentohttp://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
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
INTERPRETE1. Tomando el data, entonces2. es tal que el nombre de sub-secuencia de caracteres 1-3 iguales "Ste", entonces3. Grupo por año y sexo, entonces4. 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, entonces7. Imprimirlo a la lona.
Rvest Por Hadley Wickham
Usando APIs para datahttps://ropensci.org/
Paquete ff.http://cran.r-project.org/web/packages/ff/index.htmlEl 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.htmlBasica (statistical) funcionalidad para el paquete ffEjemplo. 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
RevoScaleR paqueteRevoScaleR 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
rhdf5Este 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
rhdf5This 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
Inspección de Calidad de los Datos
• head()• tail()• names()• str()• objectname[I,m]• objectname$variable
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
Inspección de Calidad de los Datos: Demo
•
Inspección de Calidad de los Datos: Demo
•
grepl
> ajay=c("Ajay","Vijay","Rjay","Howard")> grepl("jay",ajay)[1] TRUE TRUE TRUE FALSE> ifelse(grepl("jay",ajay),"Yes","No")[1] "Yes" "Yes" "Yes" "No"
gsub
El manejo de datos de fecha y hora
• strptime• difftime
lubridate package
• mdy• dmy• ymd
Cadenas de manipulación
pastesubstrnchar
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
Operador as
convertir un tipo de objeto a otro
eg.as.data.frameas.numeric
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
USANDO MULTIPLES CONDICIONES
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.
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
Descriptionlapply 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
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.
Dividiendo para aplicar la combinación
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)
Dplyr
http://cran.rstudio.com/web/packages/dplyr/vignettes/introduction.html
Dplyr
tiene como objetivo proporcionar una función para cada verbo básico de manipulación de datos:
filter() (y slice())
● arrange()
● select() (y rename())● distinct()
● mutate() (y transmute())● summarise()● sample_n() y sample_frac()
Dplyr
http://genomicsclass.github.io/book/pages/dplyr_tutorial.html
Dplyr
https://rpubs.com/justmarkham/dplyr-tutorial
● Ayudante de la funcion n() cuenta el número de filas en un grupo.
● Ayudante de la funcion r n_distinct(vector) cuenta el número de artículos únicos
en ese vector.
Tidy data
http://vita.had.co.nz/papers/tidy-data.pdf
• En los datos ordenada:• 1. Cada variable forma una columna.• 2. Cada observación se forma una fila.• 3. Cada tipo de unidad observacional constituye una mesa
data.table
búsqueda binaria en lugar de escaneos de vectores
http://cran.r-project.org/web/packages/data.table/vignettes/datatable-intro.pdf
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ÓNPor 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/
data.table
> diamonds=na.omit(diamonds)> diamonds[,mean(price),by=color] color V11: F 8240.2372: H 9935.2853: J 9419.6584: I 9536.6335: E 7294.0286: G 8990.9187: D 8270.3838: K 9706.4829: L 7110.074
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
Manipulación sqldf.
https://github.com/ggrothendieck/sqldfSqldf 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
Manipulación sqldf.
https://github.com/ggrothendieck/sqldfsqldf ies un paquete R para correr SQL statements
Este puede ser por :
● Aprendiendo SQL Si tu sabes R
● Aprendiendo R Si tu sabes SQL
como una sintaxis alternativa para la manipulación de trama de datos,
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.tabledt2, second data.tableall, logical; if all = TRUE then this performs a fullouter joinall.x, logical; if all.x = TRUE then this performs a left outer joinall.y, logical; if all.y = TRUE then this performs aright outer join
Combinando el uso de Data Table
Combinando el uso de Data Table
Notahtml output using knit package/button in RStudio
Puede ser abierta en browserPuede ser publicada y compartida Rpubs
Combinando el uso de Data Table
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
Ejemplo:
Difundiendo un data.table
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.
Ejemplo:
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
Marzo de Napoleon Charles Minard
Diagramas Coxcomb Florence Nightangle
Cholera Outbreak Jon Snow
Algunos principios de la Data VizEdward 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 representados2. 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.
Algunos principios de Data VizEdward 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
Principios de diseño Dashboard .Stephen Few
http://www.perceptualedge.com/articles/Whitepapers/Common_Pitfalls.pdfhttp://courses.ischool.berkeley.edu/i247/s10/lectures/Few-Dashboards.pdf
(1) No Scrolling (2) Give Context
Data ScienceStephen Few
Cuando necesite más potencia de cálculo, tres opciones posibles:
1.Vuelva a colocar el equipo con uno que es más poderoso2.Agregar más equipos3. 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 productivo2.Añadir más gente3.Ayude a su empleado actualizar habilidades para hacerle más productivo
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?
Data Visualization in R
R tiene uno de los mejores visualizaciones de datos para software estadístico
data vizlibrary(RColorBrewer)
data(VADeaths)par(mfrow=c(2,3))hist(VADeaths,breaks=10, col=brewer.pal(3,"Set3"),main="Set3 3 colors")hist(VADeaths,breaks=3 ,col=brewer.pal(3,"Set2"),main="Set2 3 colors")hist(VADeaths,breaks=7, col=brewer.pal(3,"Set1"),main="Set1 3 colors")hist(VADeaths,,breaks= 2, col=brewer.pal(8,"Set3"),main="Set3 8 colors")hist(VADeaths,col=brewer.pal(8,"Greys"),main="Greys 8 colors")hist(VADeaths,col=brewer.pal(8,"Greens"),main="Greens 8 colors")par(mfrow=c(1,1))
plot(AirPassengers,type="l")
par(mfrow=c(3,1))barplot(iris$Petal.Length) #Creating simple Bar Graphbarplot(iris$Sepal.Length,col = brewer.pal(3,"Set1")) barplot(table(iris$Species,iris$Sepal.Length),col = brewer.pal(3,"Set1"))
data(iris)par(mfrow=c(2,2))boxplot(iris$Sepal.Length,col="red")boxplot(iris$Sepal.Length~iris$Species,col="red")boxplot(iris$Sepal.Length~iris$Species,col=heat.colors(3))boxplot(iris$Sepal.Length~iris$Species,col=topo.colors(3))
par(mfrow=c(2,1))plot(x=iris$Petal.Length) #Simple Scatter Plotplot(x=iris$Petal.Length,y=iris$Species) #Multivariate Scatter Plot
par(mfrow=c(1,1))plot(iris,col=brewer.pal(3,"Set1"))
par(mar = rep(2, 4))
par(mfrow=c(5,2))
plot(iris$Petal.Length)plot(iris$Petal.Length,type='l')plot(iris$Petal.Length,iris$Species)plot(iris$Petal.Length,iris$Species,col='blue')plot(iris$Petal.Length,iris$Species,col='blue',main="Title")
plot(iris$Petal.Length,iris$Species,col='blue',main="Title")plot(iris$Species,iris$Petal.Length,col='blue',main="Title")
boxplot(iris$Petal.Length)boxplot(iris$Petal.Length~iris$Species)
barplot(iris$Petal.Length)
par(mfrow=c(1,1))library(ggplot2)data(diamonds)library(hexbin)a=hexbin(diamonds$price,diamonds$carat,xbins=40)library(RColorBrewer)plot(a)
library(RColorBrewer)rf <- colorRampPalette(rev(brewer.pal(12,'Set3')))hexbinplot(diamonds$price~diamonds$carat, data=diamonds, colramp=rf)
library(vcd)
data(HairEyeColor)mosaicplot(HairEyeColor)
library(dplyr)library(tidyr)library(magrittr)b=diamonds %>% group_by(cut, color) %>% summarise(price = mean(price)) %>% spread(color, price)bheatmap(as.matrix(mtcars)) image(as.matrix(b[2:7]))
library(tabplot)tableplot(diamonds)
library(magrittr)library(leaflet)m <- leaflet() %>% addTiles() %>% # Add default OpenStreetMap map tiles addMarkers(lng=77.2310, lat=28.6560, popup="The delicious food of chandni
chowk")m # Print the map
library(car)data(iris, package="datasets")scatter3d(Petal.Width~Petal.Length+Sepal.Length|Species, data=iris,
fit="linear", residuals=TRUE, parallel=FALSE, bg="black", axis.scales=TRUE,
grid=TRUE, ellipsoid=FALSE)
attach(iris)# 3d scatterplot by factor level library(lattice)cloud(Sepal.Length~Sepal.Width*Petal.Length|Species, main="3D Scatterplot
by Species") xyplot(Sepal.Width ~ Sepal.Length, iris, groups = iris$Species, pch= 20)
library(corrgram)cor(iris[1:4])corrgram(iris)
dplyrlibrary(dplyr)library(hflights)# install.packages("hflights")hflights=tbl_df(hflights)names(hflights)select(hflights,Year:UniqueCarrier)select(hflights,Year-UniqueCarrier)
filter(hflights,UniqueCarrier=="AA")
iris=tbl_df(iris)irisselect(iris,Sepal.Length:Petal.Width)summarise(group_by(iris,Species),mean(Sepal.Width))
R ppt 1
BETTER DECISIONS FASTER STATSDecisionStats
Traducido por Isabel Rodríguezhttps://www.linkedin.com/nhome/