6. Mauricio Purificação
Líder de BI – Cárdio Pulmonar da Bahia
Nas Horas Não Vagas (Incluindo Finais de
Semana)
• Consultor de Business Intelligence (BI),
Data Discovery e Business Analytics
• Líder Técnico do Projeto de BI do
Hospital Cárdio Pulmonar da Bahia
• Empreendedor e Startupeiro
• Quem Sabe Um Dia Blogueiro e
Youtuber
Nas Horas Vagas e Quando Eu Deveria
Dormir!
• Mestrando em Engenharia de Sistemas
e Produtos – IFBA
• MBA em Administração/Gestão de
Negócios - Universidade Salvador
(UNIFACS)
• Bacharel em Ciência da Computação -
Universidade Federal da Bahia (UFBA)
mauricio.purificacao /mauricio-cesar-santos-da-purificação-17921127
7. Um Pouco Sobre R: O Que É?
• O R não é um "aplicativo" que lhe possibilita através de uma interface gráfica
amigável realizar algumas tarefas sem saber exatamente o que está fazendo;
• O R é um ambiente de trabalho para realização de análises estatísticas;
• Do ponto de vista da análise de dados, o R tem uma filosofia que o diferencia
radicalmente dos outros softwares estatísticos;
• ANALISAR DADOS É PROGRAMAR COM DADOS: toda a análise de dados deve
ser pensada como a construção de um programa que ao ser executado gera
a análise esperada.
8. Um Pouco Sobre R: História
• Desenvolvido originalmente por Ross Ihaka e Robert Gentleman
(Depto Estatística da Universidade de Auckland, Nova Zelândia);
• Inspirado em duas linguagens:
• S (John Chambers e colegas – Bell Labs): sintaxe
• Scheme (Hal Abelson and Gerald Sussman): implementação e semântica
• R está disponível como um software livre, nos termos da GNU GPL
(General Public License).
• Windows, Linux, OS X (Mac)
9. Um Pouco Sobre R: História
• 1980: Linguagem S: desenvolvida por R. Becker, J. Chambers e A.
Wilks (AT&T Bell Laboratories)
• 1980: Versão comercial: S-Plus (Insightful Corporation)
• 1996: Versão livre: R desenvolvido por R. Ihaka e R. Gentleman
(Universidade de Auckland)
• 1997: R Development Core Team
• Hoje: 20 desenvolvedores principais e muitos outros colaboradores
em todo o mundo
• Estatísticos, matemáticos e programadores
10. Um Pouco Sobre R: Características
• INTERFACE: o R é uma interface para análises de dados, criando um
ambiente de trabalho;
• INTERATIVIDADE: essa interface é interativa, isto é, você digita
comandos e obtêm os resultados;
• MODULAR: o R é composto por módulos, que são chamados de
pacotes (packages). O pacote básico traz a funcionalidade necessária
para as análises matemáticas e estatísticas mais usuais. Existem
literalmente milhares de outros pacotes para realizar análises
específicas nas mais diversas áreas do conhecimento científico.
11. Um Pouco Sobre R: Características
• FUNCIONAL: a linguagem S, a linguagem que se fala dentro do R, é
uma linguagem funcional, isto é, todas as análises e ações são
realizadas por funções;
• ORIENTAÇÃO PARA OBJETOS: a linguagem S é uma linguagem de
programação orientada para objetos, isto é, todas as entidades no
ambiente R (dados, análises, gráficos, funções) são efetivamente
objetos;
• COLABORATIVO: o R é um esforço mundial de programação em
código aberto.
12. Vantagens & Desvantagens
Vantagens Desvantagens
Rápido e gratuito Curva de aprendizagem significativa
Pesquisadores de Estatística fornecem os
seus métodos em pacotes de R
Não há suporte comercial
Nos gráficos perde apenas para o Matlab
Trabalhando com grandes conjuntos de
dados é limitada pela RAM
Comunidade de usuários ativos
Fácil cometer erros se não conhecer bem a
linguagem
Excelente para a simulação, programação,
análises intensivas de computador, etc.
Preparação e limpeza de dados pode ser
mais confusa e mais propenso erro em R que
em soluções proprietárias como SPSS ou SAS
Interfaces com software de armazenamento
de banco de dados (SQL)
Descobrir que métodos utilizar ou como usar
uma função pode ser frustrante.
13. Pipeline de Analytics
• Importação de arquivos (readr, readxl, haven, data.table)
• Limpeza e tratamento de dados (dplyr, data.table, tidyr, stringr)
• Gráficos (ggplot2, dygraphs, plotly)
• Interface com bancos de dados (RPostgreSQL, RMySQL, RODBC)
• Análise preditiva / Data Science (caret, forecast, rpart, e1071, knn,
• randomForest)
• Relatório analítico final (rmarkdown, knitr)
• Dashboards interativos (shiny, shinydashboard)
14. Noções de Programação
• parênteses "()": são utilizados para toda e qualquer função. P. ex.
função(argumento)
• atribuição "<-": são utilizados para nomear objetos. P. ex. nome do
objeto <- função(argumento)
• chaves "{}": são utilizados para construir novas funções. P. ex.
função(argumento){
comandos
resultados }
• aspas "" são utilizadas para denominar caracteres. P. ex. "Oi, meu
nome é John Snow"
15. Nomes de Variáveis
• O R é case sensitive – isto é, letras maiúsculas e minúsculas são
diferenciadas – portanto x1 (com x minúsculo) e X1 (com x maiúsculo)
são objetos diferentes;
• Os nomes dos objetos no R podem conter combinações arbitrárias de
números, textos, bem como ponto ( . ) e underscore ( _ ). Entretanto,
os nomes não podem começar com números ou underscore.
19. Salvando o Workspace
• # grava o seu workspace com o nome genérico: ".RData"
• save.image()
• # grava o seu workspace com o nome indicado
• save.image(file="minha_sessao_inicial_de_R.RData")
• load(file=" minha_sessao_inicial_de_R.RData ")
• save(objeto, file="objeto.RData")
• q()
25. Tipos de Objetos
• vector: o mais elementar e um dos mais importantes;
• matrix e array: generalizações multi-dimensionais de vetores;
• factor: forma compacta para manipulação de dados categóricos;
• list: forma geral de vetores, nos quais os elementos não precisam ser do mesmo tipo
básico. Útil p.ex. para retorno de funções, quando diversos objetos necessitam ser
devolvidas;
• data frames: são estruturas na forma de matrizes, em que as colunas podem ser de
diferentes tipos básicos;
• funções: maneira simples e conveniente de estender as funcionalidades do R.
26. Criação de Objetos
• a = 1:5
• b = factor(rep(c("a","b","c"), each=3))
• c = data.frame(sec=c("XIX", "XX", "XXI"), inicio=c(1801,1901,2001))
• d = matrix(round(runif(40,0,100)), ncol=8)
• e = array(1:12, c(3,2,2))
• minha.lista = list(um.vetor = a, um.fator = b, um.data.frame = c, uma.matriz = d)
• str(minha.lista); str(minha.lista$um.data.frame); str(d)
• length(b); length(minha.lista); dim(minha.lista$um.data.frame); nrow(e); ncol(e)
27. Indexando e Acessando Itens
• O operador [ ] sempre retorna um objeto da mesma classe que o original. Pode ser
usado para selecionar múltiplos elementos de um objeto
• O operador [[ ]] é usado para extrair elementos de uma lista ou data frame. Pode ser
usado para extrair um único elemento, e a classe do objeto retornado não precisa
necessariamente ser uma lista ou data frame.
• O operador $ é usado para extrair elementos nomeados de uma lista ou data frame. É
similar ao operador [[ ]].
38. Estatística Descritiva
Estatística Descritiva Nome da Função
Média mean
Mediana median
Mínimo min
Máximo max
Amplitude de variação range
Quartis e quantis quantile
Distância Interquartil (Inter Quarter Range) IQR
Variância var
Desvio padrão (Standard Deviation) sd
Desvio abosluto mediano (Mean Absolut Deviation) mad
39. Link’s Úteis
• Página do Projeto está disponível em http://www.r-project.org/;
• Página de download está disponível em http://cran.r-project.org;
• Página do RStudio: http://www.rstudio.com/;
• Página do Tinn-R: http://nbcgib.uesc.br/lec/software/desenvolvidos/editores/tinn-r/en;
• Tutoriais estão disponíveis em http://cran.r-project.org/other-docs.html;
• Grupos de discussão são encontrados em http://wiki.r-project.org/rwiki/doku.php;
• Novidades são disponíveis em http://cran.r-project.org/doc/Rnews/;
• R site search: http://finzi.psych.upenn.edu/search.html;
• CRAN Task Views: http://cran.r-project.org/web/views/;
• Cartão de referência preparado por Jonathan Baron:
http://www.leg.ufpr.br/~paulojus/misc/refcard.pdf.
40. Os 10 Mandamentos do R
0º - Não entrarás em pânico!
1º - Utilizarás o R para tuas análises bem como para a manipulação de teus dados(não mais o
Excel);
2º - Nunca digitarás o código no console;
3º - Salvarás seus scripts e não se preocuparás com o .RData;
4º - Sempre concatenarás;
5º - Jamais esquecerás dos parênteses das funções;
6º - Conferirás o diretório de trabalho e os dados após a importação, antes de enlouqueceres;
7º - Usarás o help antes de perguntares e não culparás o R por teus erros;
8º - Não esmorecerás após as primeiras noites em claRo e jamais amaldiçoarás o R por tuas faltas
de vírgulas;
9º - Lembrarás das aspas dos caracteres;
10º- Não cobiçarás e aperfeiçoarás os códigos alheios e nunca ocultarás o código e a autoria
original;