SlideShare uma empresa Scribd logo
R para Iniciantes
Mauricio C. Purificação
Consultor de Business Intelligence (BI), Data Discovery e Business Analytics,
palestrante, instrutor das suítes Pentaho, QlikView e Qlik Sense;
Líder Técnico do Projeto de BI do Hospital Cárdio Pulmonar da Bahia;
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);
Pesquisador nas áreas de Business Intelligence, Business Analytics, Big Data,
Mineração de Dados, Inteligência Artificial e Modelos Preditivos.
http://lattes.cnpq.br/3312807554334758
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.
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)
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
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.
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.
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.
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)
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"
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.
Pedindo Ajuda?
help.start()
apropos("sear")
help("print")
?print
help.search("regression")
args("sd")
sd
Alterando Diretório de Trabalho
getwd()
setwd("C:UsersMauricioDocumentsWorkR")
setwd(choose.dir())
dir()
list.files()
Gerenciando o Workspace
ls()
object.size(objeto)
rm(objeto)
lista_obj <- ls()
rm(list=lista_obj)
rm(list = ls())
ls(pattern="y")
rm(list=ls(pattern="y"))
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()
Instalando e Ativando Pacotes
install.packages("nomedopacote", dependencies = TRUE)
library()
library(nomedopacote)
search()
getOption("defaultPackages")
detach(package:nomedopacote)
remove.packages(nomedopacote)
Lendo Arquivos
dados<-read.table(file.choose(), header=T)
dados <- read.table("arquivo.csv", header = TRUE, sep = ";", dec = ",")
dados2 <- read.csv2("arquivo.csv", stringsAsFactors = FALSE)
library(gdata)
dados.xls <- read.xls("arquivo.xls", sheet = "Plan1", header = TRUE, dec = ",")
str()
head()
tail()
Criando Sequências
1:10
(1:10) * 10
seq(from=0, to=100, by=10)
seq(from=0, to=100, len=10)
seq(from = 1, to = 10, length.out = 15)
rep("A", times=10)
rep(c("A", "B", "C"), times=10)
rep(c("A", "B", "C"), each=10)
seqABC <- rep(c("A", "B", "C"), times=c(2,3,5))
runif(10, 1, 100)
Trabalhando com Datas
copa.70 <- "21/06/70"
copa.94 <- "17/07/94"
copa.94 - copa.70
class(copa.70)
class(copa.94)
copa.70 <- as.Date(copa.70,format="%d/%m/%y")
copa.94 <- as.Date(copa.94,format="%d/%m/%y")
class(copa.70)
class(copa.94)
copa.94 - copa.70
Conversão de Tipos
class(objeto)
typeof(objeto)
is.integer(objeto)
is.double(objeto)
is.numeric(objeto)
is.character(objeto)
is.logical(objeto)
as.character(objeto)
as.numeric(objeto)
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.
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)
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 [[ ]].
Indexando e Acessando Itens (Vetores)
cont <- c(8, 4, NA, 9, 6, 1, 7, 9)
cont[4]
cont[c(1, 4, 8)]
cont[-c(1, 4, 8)]
cont[1:5]
cont[seq(1, 8, by = 2)]
cont[is.na(cont)]
cont[!is.na(cont)]
cont[is.na(cont)] <- 0
is.na(cont) <- 3
names(cont) <- letters[1:length(cont)]
cont["d"]
cont[c("f", "a")]
Indexando e Acessando Itens
(Matrizes)
mat <- matrix(1:9, nrow = 3)
mat[2,3]
mat[, 1]
mat[1, ]
mat[3, 2, drop = FALSE]
mat[1, , drop = FALSE]
mat[c(1, 3), c(2, 3)]
colnames(mat) <- LETTERS[1:3]
mat[1, "C"]
rownames(mat) <- LETTERS[24:26]
mat["Y", "A"]
Indexando e Acessando Itens (Listas)
lis <- list(c(3, 8, 7, 4), mat, 5:0)
lis[[2]]
lis[[1]][3]
lis[[2]][2, 3]
lis <- list(vetor1 = c(3, 8, 7, 4), mat = mat, vetor2 = 5:0) #names(lis) <-
c("vetor1", "mat", "vetor2")
lis$mat
lis$mat[2, 3]
lis$vetor1[3]
lis[["mat"]]
lis[["vetor1"]][3]
Indexando e Acessando Itens (Data
Frames)
da <- data.frame(A = 4:1, B = c(2, NA, 5, 8))
da[2, 1]
da[, 2]
da[,"B"]
da[1, ]
da["1", ]
da$A
da$B[3]
da$B[c(2, 4)]
da[is.na(da$A), ], da[is.na(da$B), ], da[!is.na(da$B), ]
with(da, A), with(da, B[3])
Seleção Condicional
dados <- c(5, 15, 42, 28, 79, 4, 7, 14)
dados[dados > 15], dados[dados > 15 & dados <= 35]
dados > 15 & dados <= 35, dados > 15 | dados <= 35
cara <- letters[1:length(dados)]
dados[cara == "c"]
dados[cara %in% c("a", "c")]
cara[dados == 15]
cara[dados > 30]
cara[dados %in% c(4, 14)]
which(dados > 15)
which(dados > 15 & dados <= 35)
which(cara == "c")
which(cara %in% c("a", "c"))
Seleção Condicional
dados <- data.frame(ano = c(2001, 2002, 2003, 2004, 2005),
captura = c(26, 18, 25, 32, NA),
porto = c("SP", "RS", "SC", "SC", "RN"))
dados[dados$ano == 2004, ]
dados[dados$porto == "SC", ]
dados[dados$captura > 20, "captura"]
dados[dados$captura > 25 & dados$porto == "SP", ]
subset(dados, porto == "SC")
subset(dados, captura > 20)
subset(dados, captura > 20, select = captura)
R como Calculadora
R como Calculadora
Operadores Lógicos
Estatística Descritiva
summary(dados)
table()
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
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.
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;
Duvidas?
Contatos
mscesar@gmail.com
http://slideshare.net/mscesar

Mais conteúdo relacionado

Mais procurados

tmn - Introdução ao JavaScript
tmn - Introdução ao JavaScripttmn - Introdução ao JavaScript
tmn - Introdução ao JavaScript
Claudio Gamboa
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
fabiocerqueira
 
Interpolação e Geoestatística - QGis, Geoda e R
Interpolação e Geoestatística - QGis, Geoda e RInterpolação e Geoestatística - QGis, Geoda e R
Interpolação e Geoestatística - QGis, Geoda e R
Vitor Vieira Vasconcelos
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
Luis Ferreira
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
Daniel Brandão
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
Mario Jorge Pereira
 
engenharia-de-requisitos
engenharia-de-requisitosengenharia-de-requisitos
engenharia-de-requisitos
Fábio Nogueira de Lucena
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
Rademaker Siena
 
Definição e classificação dos requisitos
Definição e classificação dos requisitosDefinição e classificação dos requisitos
Definição e classificação dos requisitos
ETEIT - Escola Técnica da Univale
 
Delineamentos estatísticos
Delineamentos estatísticosDelineamentos estatísticos
Delineamentos estatísticosUERGS
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de Sistemas
Guilherme
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
vini_campos
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
César Augusto Pessôa
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
Gleydson Sousa
 
Topografia - Apostila pratica [1]
Topografia - Apostila pratica [1]Topografia - Apostila pratica [1]
Topografia - Apostila pratica [1]
Carlos Elson Cunha
 
Aula 6 - SAM - Imagens
Aula 6 - SAM - ImagensAula 6 - SAM - Imagens
Aula 6 - SAM - Imagens
Guilherme Nonino Rosa
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico
Centro Paula Souza
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dadosHélio Martins
 
Banco de Dados - Conceitos Básicos
Banco de Dados - Conceitos BásicosBanco de Dados - Conceitos Básicos
Banco de Dados - Conceitos Básicos
Adriano Leite da Silva
 

Mais procurados (20)

tmn - Introdução ao JavaScript
tmn - Introdução ao JavaScripttmn - Introdução ao JavaScript
tmn - Introdução ao JavaScript
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Interpolação e Geoestatística - QGis, Geoda e R
Interpolação e Geoestatística - QGis, Geoda e RInterpolação e Geoestatística - QGis, Geoda e R
Interpolação e Geoestatística - QGis, Geoda e R
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
Correlação
CorrelaçãoCorrelação
Correlação
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
engenharia-de-requisitos
engenharia-de-requisitosengenharia-de-requisitos
engenharia-de-requisitos
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Definição e classificação dos requisitos
Definição e classificação dos requisitosDefinição e classificação dos requisitos
Definição e classificação dos requisitos
 
Delineamentos estatísticos
Delineamentos estatísticosDelineamentos estatísticos
Delineamentos estatísticos
 
Análise e Projeto de Sistemas
Análise e Projeto de SistemasAnálise e Projeto de Sistemas
Análise e Projeto de Sistemas
 
1.Introdução Banco de Dados
1.Introdução Banco de Dados1.Introdução Banco de Dados
1.Introdução Banco de Dados
 
02 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.502 - Orientação a objetos e revisão de C# v1.5
02 - Orientação a objetos e revisão de C# v1.5
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Topografia - Apostila pratica [1]
Topografia - Apostila pratica [1]Topografia - Apostila pratica [1]
Topografia - Apostila pratica [1]
 
Aula 6 - SAM - Imagens
Aula 6 - SAM - ImagensAula 6 - SAM - Imagens
Aula 6 - SAM - Imagens
 
07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico07 Modelagem de banco de dados: Modelo Físico
07 Modelagem de banco de dados: Modelo Físico
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dados
 
Banco de Dados - Conceitos Básicos
Banco de Dados - Conceitos BásicosBanco de Dados - Conceitos Básicos
Banco de Dados - Conceitos Básicos
 

Semelhante a R para Iniciantes

Aprendendo R
Aprendendo RAprendendo R
Linguagem R
Linguagem RLinguagem R
Linguagem R
Laís Berlatto
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
Diogo Gomes
 
Mini R
Mini R Mini R
R: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreR: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livre
Luis Borges Gouveia
 
Cartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfCartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdf
Edkallenn Lima
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
Anderson Sanches
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Leinylson Fontinele
 
Estrutura de Dados - Aula de revisão de c na prática
Estrutura de Dados - Aula de revisão de c na práticaEstrutura de Dados - Aula de revisão de c na prática
Estrutura de Dados - Aula de revisão de c na prática
Leinylson Fontinele
 
Estruturas de dados em Python
Estruturas de dados em PythonEstruturas de dados em Python
Estruturas de dados em Python
Ricardo Paiva
 
Beabá do R
Beabá do RBeabá do R
Beabá do R
Rodrigo Rocha
 
Estrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptxEstrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptx
MarceloRosenbrock1
 
Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]Fabrício Barth
 
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont....Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
iMasters
 
Curso matlab 6 especiais
Curso matlab 6 especiaisCurso matlab 6 especiais
Curso matlab 6 especiais
Josh Santos
 
Alta disponibilidade com bancos de dados relacionais no Azure
Alta disponibilidade com bancos de dados relacionais no AzureAlta disponibilidade com bancos de dados relacionais no Azure
Alta disponibilidade com bancos de dados relacionais no Azure
Rubens Guimarães - MTAC MVP
 
Construindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com AsteriskConstruindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com Asterisk
Rodrigo R Passos
 
Construindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com AsteriskConstruindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com Asterisk
Rodrigo R Passos
 
Algoritomos aula 3 rafael
Algoritomos aula 3 rafaelAlgoritomos aula 3 rafael
Algoritomos aula 3 rafael
hugodrocha
 
A Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em JogosA Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em Jogoselliando dias
 

Semelhante a R para Iniciantes (20)

Aprendendo R
Aprendendo RAprendendo R
Aprendendo R
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop PythonIEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
IEEEweek 2017 @ DETI Univ. Aveiro - Workshop Python
 
Mini R
Mini R Mini R
Mini R
 
R: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livreR: a alternativa ao SPSS e ao NVivo em software livre
R: a alternativa ao SPSS e ao NVivo em software livre
 
Cartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdfCartilha de R para Estatística e Data Science.pdf
Cartilha de R para Estatística e Data Science.pdf
 
Linguagem R
Linguagem RLinguagem R
Linguagem R
 
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
Estrutura de dados - Aula de Revisão (Linguagem C/C++, Função, Vetor, Matriz,...
 
Estrutura de Dados - Aula de revisão de c na prática
Estrutura de Dados - Aula de revisão de c na práticaEstrutura de Dados - Aula de revisão de c na prática
Estrutura de Dados - Aula de revisão de c na prática
 
Estruturas de dados em Python
Estruturas de dados em PythonEstruturas de dados em Python
Estruturas de dados em Python
 
Beabá do R
Beabá do RBeabá do R
Beabá do R
 
Estrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptxEstrutura de linguagem de programação - Aula 2.pptx
Estrutura de linguagem de programação - Aula 2.pptx
 
Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]Web Data Mining com R: pré-processamento de dados [no R]
Web Data Mining com R: pré-processamento de dados [no R]
 
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont....Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
.Net Community Summit 2018 - Aplicações .NET inteligentes com escala horizont...
 
Curso matlab 6 especiais
Curso matlab 6 especiaisCurso matlab 6 especiais
Curso matlab 6 especiais
 
Alta disponibilidade com bancos de dados relacionais no Azure
Alta disponibilidade com bancos de dados relacionais no AzureAlta disponibilidade com bancos de dados relacionais no Azure
Alta disponibilidade com bancos de dados relacionais no Azure
 
Construindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com AsteriskConstruindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com Asterisk
 
Construindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com AsteriskConstruindo URA e Sistemas de Call Center com Asterisk
Construindo URA e Sistemas de Call Center com Asterisk
 
Algoritomos aula 3 rafael
Algoritomos aula 3 rafaelAlgoritomos aula 3 rafael
Algoritomos aula 3 rafael
 
A Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em JogosA Linguagem Lua e suas Aplicações em Jogos
A Linguagem Lua e suas Aplicações em Jogos
 

Mais de Mauricio Cesar Santos da Purificação

Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
Mauricio Cesar Santos da Purificação
 
Intelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
Intelligence, Discovery, Science e Analytics: Transformando Dados em OuroIntelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
Intelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
Mauricio Cesar Santos da Purificação
 
Pitch AcheSeuEstúdio - Campus Party
Pitch AcheSeuEstúdio - Campus PartyPitch AcheSeuEstúdio - Campus Party
Pitch AcheSeuEstúdio - Campus Party
Mauricio Cesar Santos da Purificação
 
Pitch BestPoint - Campus Party
Pitch BestPoint - Campus PartyPitch BestPoint - Campus Party
Pitch BestPoint - Campus Party
Mauricio Cesar Santos da Purificação
 
Big Data Analytics
Big Data AnalyticsBig Data Analytics
Flyer BestPoint
Flyer BestPointFlyer BestPoint
Pitch BestPoint
Pitch BestPointPitch BestPoint
Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?
Mauricio Cesar Santos da Purificação
 
OxenTI - Desenvolvimento de Soluções Inovadoras em TI
OxenTI - Desenvolvimento de Soluções Inovadoras em TIOxenTI - Desenvolvimento de Soluções Inovadoras em TI
OxenTI - Desenvolvimento de Soluções Inovadoras em TI
Mauricio Cesar Santos da Purificação
 
Pitch BestPoint - DemoDay StartupSummer 2015
Pitch BestPoint - DemoDay StartupSummer 2015Pitch BestPoint - DemoDay StartupSummer 2015
Pitch BestPoint - DemoDay StartupSummer 2015
Mauricio Cesar Santos da Purificação
 
BestPoint
BestPointBestPoint
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
Mauricio Cesar Santos da Purificação
 
Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?
Mauricio Cesar Santos da Purificação
 
QlikView In Action - Do BI ao Business Discovery!…
QlikView In Action - Do BI ao Business Discovery!…QlikView In Action - Do BI ao Business Discovery!…
QlikView In Action - Do BI ao Business Discovery!…
Mauricio Cesar Santos da Purificação
 
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
Mauricio Cesar Santos da Purificação
 
Adeus BI, Seja Bem Vindo a Era do Analytics?
Adeus BI, Seja Bem Vindo a Era do Analytics?Adeus BI, Seja Bem Vindo a Era do Analytics?
Adeus BI, Seja Bem Vindo a Era do Analytics?
Mauricio Cesar Santos da Purificação
 
Derivação de Modelos ER
Derivação de Modelos ERDerivação de Modelos ER
Derivação de Modelos ER
Mauricio Cesar Santos da Purificação
 
Business Intelligence - Prática e Experiências
Business Intelligence - Prática e ExperiênciasBusiness Intelligence - Prática e Experiências
Business Intelligence - Prática e Experiências
Mauricio Cesar Santos da Purificação
 
Inteligência de Negócios e Software Livre
Inteligência de Negócios e Software LivreInteligência de Negócios e Software Livre
Inteligência de Negócios e Software Livre
Mauricio Cesar Santos da Purificação
 
Business Intelligence & Business Analytics
Business Intelligence & Business AnalyticsBusiness Intelligence & Business Analytics
Business Intelligence & Business Analytics
Mauricio Cesar Santos da Purificação
 

Mais de Mauricio Cesar Santos da Purificação (20)

Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
Intelligence, Discovery, Analytics e Data Science: Evolução, Desafios e Oport...
 
Intelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
Intelligence, Discovery, Science e Analytics: Transformando Dados em OuroIntelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
Intelligence, Discovery, Science e Analytics: Transformando Dados em Ouro
 
Pitch AcheSeuEstúdio - Campus Party
Pitch AcheSeuEstúdio - Campus PartyPitch AcheSeuEstúdio - Campus Party
Pitch AcheSeuEstúdio - Campus Party
 
Pitch BestPoint - Campus Party
Pitch BestPoint - Campus PartyPitch BestPoint - Campus Party
Pitch BestPoint - Campus Party
 
Big Data Analytics
Big Data AnalyticsBig Data Analytics
Big Data Analytics
 
Flyer BestPoint
Flyer BestPointFlyer BestPoint
Flyer BestPoint
 
Pitch BestPoint
Pitch BestPointPitch BestPoint
Pitch BestPoint
 
Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?
 
OxenTI - Desenvolvimento de Soluções Inovadoras em TI
OxenTI - Desenvolvimento de Soluções Inovadoras em TIOxenTI - Desenvolvimento de Soluções Inovadoras em TI
OxenTI - Desenvolvimento de Soluções Inovadoras em TI
 
Pitch BestPoint - DemoDay StartupSummer 2015
Pitch BestPoint - DemoDay StartupSummer 2015Pitch BestPoint - DemoDay StartupSummer 2015
Pitch BestPoint - DemoDay StartupSummer 2015
 
BestPoint
BestPointBestPoint
BestPoint
 
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
Big Data Analytics e Social Mining - Inteligência Em Uma Montanha de Dados?
 
Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?Será Mesmo o Cientista de Dados a Profissão do Futuro?
Será Mesmo o Cientista de Dados a Profissão do Futuro?
 
QlikView In Action - Do BI ao Business Discovery!…
QlikView In Action - Do BI ao Business Discovery!…QlikView In Action - Do BI ao Business Discovery!…
QlikView In Action - Do BI ao Business Discovery!…
 
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
Dê Adeus ao BI e Seja Bem Vindo à Era do Analytics...
 
Adeus BI, Seja Bem Vindo a Era do Analytics?
Adeus BI, Seja Bem Vindo a Era do Analytics?Adeus BI, Seja Bem Vindo a Era do Analytics?
Adeus BI, Seja Bem Vindo a Era do Analytics?
 
Derivação de Modelos ER
Derivação de Modelos ERDerivação de Modelos ER
Derivação de Modelos ER
 
Business Intelligence - Prática e Experiências
Business Intelligence - Prática e ExperiênciasBusiness Intelligence - Prática e Experiências
Business Intelligence - Prática e Experiências
 
Inteligência de Negócios e Software Livre
Inteligência de Negócios e Software LivreInteligência de Negócios e Software Livre
Inteligência de Negócios e Software Livre
 
Business Intelligence & Business Analytics
Business Intelligence & Business AnalyticsBusiness Intelligence & Business Analytics
Business Intelligence & Business Analytics
 

R para Iniciantes

  • 2. Mauricio C. Purificação Consultor de Business Intelligence (BI), Data Discovery e Business Analytics, palestrante, instrutor das suítes Pentaho, QlikView e Qlik Sense; Líder Técnico do Projeto de BI do Hospital Cárdio Pulmonar da Bahia; 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); Pesquisador nas áreas de Business Intelligence, Business Analytics, Big Data, Mineração de Dados, Inteligência Artificial e Modelos Preditivos. http://lattes.cnpq.br/3312807554334758
  • 3. 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.
  • 4. 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)
  • 5. 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
  • 6. 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.
  • 7. 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.
  • 8. 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.
  • 9. 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)
  • 10. 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"
  • 11. 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.
  • 13. Alterando Diretório de Trabalho getwd() setwd("C:UsersMauricioDocumentsWorkR") setwd(choose.dir()) dir() list.files()
  • 14. Gerenciando o Workspace ls() object.size(objeto) rm(objeto) lista_obj <- ls() rm(list=lista_obj) rm(list = ls()) ls(pattern="y") rm(list=ls(pattern="y"))
  • 15. 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()
  • 16. Instalando e Ativando Pacotes install.packages("nomedopacote", dependencies = TRUE) library() library(nomedopacote) search() getOption("defaultPackages") detach(package:nomedopacote) remove.packages(nomedopacote)
  • 17. Lendo Arquivos dados<-read.table(file.choose(), header=T) dados <- read.table("arquivo.csv", header = TRUE, sep = ";", dec = ",") dados2 <- read.csv2("arquivo.csv", stringsAsFactors = FALSE) library(gdata) dados.xls <- read.xls("arquivo.xls", sheet = "Plan1", header = TRUE, dec = ",") str() head() tail()
  • 18. Criando Sequências 1:10 (1:10) * 10 seq(from=0, to=100, by=10) seq(from=0, to=100, len=10) seq(from = 1, to = 10, length.out = 15) rep("A", times=10) rep(c("A", "B", "C"), times=10) rep(c("A", "B", "C"), each=10) seqABC <- rep(c("A", "B", "C"), times=c(2,3,5)) runif(10, 1, 100)
  • 19. Trabalhando com Datas copa.70 <- "21/06/70" copa.94 <- "17/07/94" copa.94 - copa.70 class(copa.70) class(copa.94) copa.70 <- as.Date(copa.70,format="%d/%m/%y") copa.94 <- as.Date(copa.94,format="%d/%m/%y") class(copa.70) class(copa.94) copa.94 - copa.70
  • 21. 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.
  • 22. 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)
  • 23. 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 [[ ]].
  • 24. Indexando e Acessando Itens (Vetores) cont <- c(8, 4, NA, 9, 6, 1, 7, 9) cont[4] cont[c(1, 4, 8)] cont[-c(1, 4, 8)] cont[1:5] cont[seq(1, 8, by = 2)] cont[is.na(cont)] cont[!is.na(cont)] cont[is.na(cont)] <- 0 is.na(cont) <- 3 names(cont) <- letters[1:length(cont)] cont["d"] cont[c("f", "a")]
  • 25. Indexando e Acessando Itens (Matrizes) mat <- matrix(1:9, nrow = 3) mat[2,3] mat[, 1] mat[1, ] mat[3, 2, drop = FALSE] mat[1, , drop = FALSE] mat[c(1, 3), c(2, 3)] colnames(mat) <- LETTERS[1:3] mat[1, "C"] rownames(mat) <- LETTERS[24:26] mat["Y", "A"]
  • 26. Indexando e Acessando Itens (Listas) lis <- list(c(3, 8, 7, 4), mat, 5:0) lis[[2]] lis[[1]][3] lis[[2]][2, 3] lis <- list(vetor1 = c(3, 8, 7, 4), mat = mat, vetor2 = 5:0) #names(lis) <- c("vetor1", "mat", "vetor2") lis$mat lis$mat[2, 3] lis$vetor1[3] lis[["mat"]] lis[["vetor1"]][3]
  • 27. Indexando e Acessando Itens (Data Frames) da <- data.frame(A = 4:1, B = c(2, NA, 5, 8)) da[2, 1] da[, 2] da[,"B"] da[1, ] da["1", ] da$A da$B[3] da$B[c(2, 4)] da[is.na(da$A), ], da[is.na(da$B), ], da[!is.na(da$B), ] with(da, A), with(da, B[3])
  • 28. Seleção Condicional dados <- c(5, 15, 42, 28, 79, 4, 7, 14) dados[dados > 15], dados[dados > 15 & dados <= 35] dados > 15 & dados <= 35, dados > 15 | dados <= 35 cara <- letters[1:length(dados)] dados[cara == "c"] dados[cara %in% c("a", "c")] cara[dados == 15] cara[dados > 30] cara[dados %in% c(4, 14)] which(dados > 15) which(dados > 15 & dados <= 35) which(cara == "c") which(cara %in% c("a", "c"))
  • 29. Seleção Condicional dados <- data.frame(ano = c(2001, 2002, 2003, 2004, 2005), captura = c(26, 18, 25, 32, NA), porto = c("SP", "RS", "SC", "SC", "RN")) dados[dados$ano == 2004, ] dados[dados$porto == "SC", ] dados[dados$captura > 20, "captura"] dados[dados$captura > 25 & dados$porto == "SP", ] subset(dados, porto == "SC") subset(dados, captura > 20) subset(dados, captura > 20, select = captura)
  • 34. 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
  • 35. 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.
  • 36. 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;