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

R para Iniciantes

  • 1.
  • 2.
    Mauricio C. Purificação Consultorde 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 SobreR: 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 SobreR: 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 SobreR: 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 SobreR: 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 SobreR: 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 VantagensDesvantagens 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çãode 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 OR é 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.
  • 12.
  • 13.
    Alterando Diretório deTrabalho 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 AtivandoPacotes 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
  • 20.
  • 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 AcessandoItens 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 AcessandoItens (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 AcessandoItens (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 AcessandoItens (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 AcessandoItens (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)
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
    Estatística Descritiva Estatística DescritivaNome 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 doProjeto 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 Mandamentosdo 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;
  • 37.
  • 38.