Minicurso de Estatística com 
Dilermando Pacheco e Petrônio Cândido
Agenda 
● O Pacote R 
● Carregando Dados 
● Estatística Descritiva 
○ Medidas de tendência central e dispersão 
○ Gráficos 
● Estatística Inferencial 
○ Regressão 
○ Testes Estatísticos
O pacote estatístico R
O que é o R 
● Um programa de estatística para uso geral; 
○ Um conjunto de bibliotecas/plugins 
○ Uma linguagem de programação 
● FOSS 
○ Free open source software 
○ Programa gratuito de código aberto
Porquê usar o R? 
● Primeiro: ELE É GRATUITO! 
○ Ao contrário do SPSS, SAS… 
● Ele é não é voltado para nenhuma área 
específica 
○ Ao contrário do SPSS... 
● Muita documentação, em todas as 
linguagens
Porquê usar o R? 
● No R é possível programar! 
○ Grande base de plugins para todo o tipo de tarefa 
de análise de dados 
● Interoperabilidade 
○ Abre diversos tipos de arquivos 
○ Comunica-se com outros sistemas
Características do R? 
● O R originalmente usa uma interface de linha de 
comando que é pouco amigável para usuários que não 
vem das exatas/tecnológicas e engenharias… 
● Para tarefas mais complexas algum conhecimento em 
programação é bastante recomendado!
Características do R 
● Atualmente já existem interfaces gráficas com 
o usuário, tais como o: 
○ R Commander 
○ R Studio
Instalando o R 
● R Básico 
○ http://www.r-project.org/ 
● R Studio 
○ https://www.rstudio.com/
Pacotes 
● Pacotes são extensões ao programa básico 
escritos pela comunidade de usuários; 
● Com os pacotes podemos agregar novas 
funcionalidades ao R
Pacotes 
● Baixa o pacote da internet e instalar no computador 
install.packages("pacote") 
● Carregar o pacote na memória (antes de começar a 
utilizá-lo) 
library("mypkg")
Carregando e explorando 
dados
Variáveis 
● Uma variável armazena um ou mais valores 
nome <- valor
Tipos de Dados no R 
● Escalar 
● Vetores 
● Matrizes 
● Fatores 
● Data Frames
Tipos de Dados no R 
● Escalar 
○ Um único dado. 
○ Número 
■ 1, -1, 1.5 
○ Caractere 
■ “texto” 
○ Lógico 
■ TRUE / FALSE
Tipos de Dados no R 
● Vetores 
○ Conjunto de dados de um mesmo tipo, com uma 
única dimensão [linha OU coluna] 
v1 <- c(1,2,3,5) # vetor numérico 
v2 <- c("A","BB","CCC") # vetor de caracteres 
v3 <- c(TRUE,TRUE,FALSE) #vetor de valores lógicos
Tipos de Dados no R 
● Intervalos 
○ seq(from = inicio, to = fim, by = passo) 
■ v1 <- seq(from = 1, to = 50, by = 10) 
○ início : fim 
■ v1 <- c(1:20)
Tipos de Dados no R 
● Fatores 
○ Associa um índice a cada valor nominal; 
○ Variáveis categóricas/nominais sem relação de 
ordem 
dados <- c(“M”,”F”,”F”,”M”,”F”,”M”,”M”,”F”) 
sexos <- factor(dados)
Tipos de Dados no R 
● Matrizes 
○ Um conjunto de dados de um único tipo, com duas 
dimensões 
○ Tabela do um mesmo tipo de dados, com várias 
linhas e colunas 
m<-matrix(dados, nrow=linhas,ncol=colunas)
Tipos de Dados no R 
● Data Frames 
○ Tabela com várias linhas e colunas, em que cada 
coluna pode ser de um tipo de dados diferente: 
■ Linhas : Observações 
■ Colunas : Variáveis 
○ As colunas em um data frame podem ter nomes;
Tipos de Dados no R 
● Data Frames 
○ idades <- c(20, 30, 25) 
○ sexos <- c(“M”,”F”,”F”) 
○ pesos <- c(70.5, 64.3, 60.1) 
○ df <- data.frame(idades, sexos, pesos) 
○ df$idades
Funções Úteis 
● Gera uma matriz a partir da combinação em colunas de dois vetores 
dados <- cbind(vetor, vetor, …) 
● Gera uma matriz a partir da combinação em linhas de dois vetores 
dados <- rbind(vetor, vetor, …) 
● Edita os dados de um objeto (vetor, matriz, data frame etc…) 
dados <- edit(dados)
Funções Úteis 
● O somatório de todos os itens de um vetor 
soma <- sum(vetor) 
● A quantidade de itens de um vetor 
n <- length(vetor) 
● Edita os dados de um objeto (vetor, matriz, data frame etc…) 
dados <- edit(dados)
Carregar dados 
● Ler um arquivo de dados simples 
mydata <- read.table("c:/mydata.csv", header=TRUE, 
sep=",") 
● Gravar um arquivo de dados simples 
write.table(mydata, "c:/mydata.txt", sep="t")
Carregar dados 
● Existem pacotes para interagir com diversas 
outras fontes de dados: 
■ Excell 
■ SPSS 
■ Bancos de Dados 
● Consulte: (CRAN, 2014)
Estatística Descritiva 
Tendências e Gráficos
Funções úteis 
Função Utilidade 
abs(x) Valor absoluto 
sqrt(x) Raiz quadrada 
ceiling(x), floor(x) Arredondamento para cima e para baixo 
trunc(x) Retorna a parte inteira 
cos(x), sen(x), tan(x) Funções trigonométricas 
log(x), log10(x), exp(x) Logaritmos e exponenciação
Estatísticas Descritivas 
● Resumo: summary(dados) 
● Média: mean(dados) 
● Mediana: median(dados) 
● Quantis: quantile(dados) 
● Variância: var(dados) 
● Desvio Padrão: sd(dados)
Tabelas de Frequência 
tabela <- table(dados) 
tabela <- table(dados$variavel, dados$variavel) 
tabela <- xtabs(dados$variavel ~ dados$variavel)
Correlação e Covariância 
● Coeficiente de correlação entre dois vetores 
cor(vetor,vetor) 
● Matriz de correlação em matrizes e data 
frames 
cor(dados)
Gráficos
Função Plot 
plot(dados, 
main = ”titulo”, sub=”sub título”, 
type =”tipo”, col = vetordecores, 
xlab = “rótulo do eixo x”, ylab = “rótulo do eixo y” 
pch = simbolo, lty = tipo de linha, ltw = expessura da linha 
)
Parâmetros 
● Type 
○ l = Linha 
○ p = Pontos 
○ b = Linha e ponto não sobrepostos 
○ o = Linha e ponto sobrepostos 
○ h = Histograma 
○ s = Degraus
Parâmetros 
● pch ● lty
Parâmetros 
● Color
Outras funções úteis 
● legend(“orientação”, valores, fill=cores) 
○ Acrescenta uma legenda no gráfico 
● text(x, y, “texto”) 
○ Acrescenta uma anotação no gráfico 
● mtext(“texto”, side=n) 
○ Acrescenta uma anotação na bordas do gráficos
Gráficos 
barplot(dados) 
dotchart(dados) 
hist(dados) 
lines(dados) 
pie(dados) 
points(dados) 
polygon(dados)
Gráficos 3D 
● Scatterplot 3D 
library(scatterplot3d) 
scatterplot3d(x,y,z) 
● Plot 3D (Gráfico Interativo) 
library(rgl) 
plot3d(x,y,z)
Estatística Inferencial 
Amostra -> População
Probabilidades
Distribuições de Probabilidades 
● ddist(valor, …) 
○ Retorna a densidade de probabilidade (Probabilidade de um 
valor dentro da distribuição) 
● pdist(valor, …) 
○ Retorna a densidade acumulada de probabilidade
Distribuições de Probabilidades 
● qdist(quantis,...) 
○ Retorna os valores, dentro da distribuição, para as 
probabilidades informadas; 
○ Pode ser um escalar ou um vetor com os quantis; 
● rdist(n,...) 
○ Gera um vetor de n números aleatórios dentro da distribuição;
Distribuições de Probabilidades 
● Distribuição Normal
Distribuições de Probabilidades 
● d <- dnorm(valor, media, desviopadrao) 
○ dnorm(95, 70, 15) 
● p <- pnorm(valor, media, desviopadrao) 
○ dnorm(95, 70, 15) 
● valor <- qnorm(quantis, media, desviopadrao) 
○ dnorm(c(0.05, 0.95), 70, 15) 
● vetor <- rnorm(n, media, desviopadrao) 
○ dnorm(30, 70, 15)
Distribuições de Probabilidades 
● qqnorm(dados) 
○ dnorm(95, 70, 15) 
● qqline(valores) 
○ dnorm(95, 70, 15)
Outras distribuições 
● Binomial 
dbinom(x, tamanho, 
prob) 
pbinom(q, tamanho, 
prob) 
qbinom(p, tamanho, 
prob) 
rbinom(n, tamanho, 
prob) 
● Poisson 
dpois(x, lamda) 
ppois(q, lamda) 
qpois(p, lamda) 
rpois(n, lamda)
Distribuições Empíricas 
w <- density(dados) 
plot(w)
Modelos e Fórmulas 
Relações entre variáveis
Modelo 
● Um modelo é uma fórmula que expressa 
algum relacionamento entre variáveis; 
● Variáveis Dependentes 
● Variáveis Independentes
● dependentes ~ independentes 
Y = β0 + β1Xa + β2Xb + … + ϵ 
● Dependente: Y 
● Independentes: Xa, Xb, … 
● Coeficientes: β0, β1, β2, ... 
Y ~ Xa + Xb 
Fórmulas
Regressão 
Ajustando os coeficientes...
Análise de Variáncia - ANOVA 
● Dados segmentados em blocos; 
● Há diferenças significativas nas médias e 
variâncias nas amostras colhidas entre os 
blocos?
Análise de Variáncia - ANOVA 
● Data Frame 
○ Variável de Bloco : Factor 
○ Variável quantitativa mensurada 
modelo <- aov(Variavel ~ Bloco)
Análise de Variáncia - ANOVA 
A <- c(78, 88, 87, 88, 83, 82, 81, 80, 80, 89) 
B <- c(78, 78, 83, 81, 78, 81, 81, 82, 76, 76) 
C <- c(79, 73, 79, 75, 77, 78, 80, 78, 83, 84) 
D <- c(77, 69, 75, 70, 74, 83, 80, 75, 76, 75) 
dados <- data.frame(Localidade=gl(4,10), Massa=c(A,B,C,D)) 
dados$Localidade <- as.factor(dados$Localidade) 
# Análise de variância 
modelo <- aov(Massa ~ Localidade) 
summary(modelo) 
# o teste de Tukey HSD para mostrar os pares de grupos 
TukeyHSD(modelo) 
plot(TukeyHSD(modelo)) 
Fonte: (BASLEY, 2004, p. 32)
Regressão Linear Simples 
● Ajusta os coeficientes das variáveis 
independentes de uma fórmula a partir de 
um conjunto de dados 
modelo <- lm(formula = y ~ x, data = dados)
Exemplo 
x <- c(1,2,3,4,5,6,7,8) 
y <- c(9.6, 18.0, 18.7,26.0,4.6,18.3,19.7,37.8) 
modelo <- lm(y ~ x) 
plot(x, y) 
abline(modelo)
Exemplo 
x <- c(1,2,3,4,5,6,7,8) 
y <- c(9,3,2,7,3,3,1,1) 
z <- c(9.6, 18.0, 18.7,26.0,4.6,18.3,19.7,37.8) 
modelo <- lm(z ~ x + y) 
library(scatterplot3d) 
grafico <- scatterplot3d(x, y, z) 
grafico$plane3d(modelo)
Regressão Não Linear 
● Ajusta os coeficientes das variáveis independentes de 
uma fórmula a partir de um conjunto de dados 
● Os coeficientes e seus valores iniciais devem ser 
indicados 
modelo <- nls(formula = z ~ a^x + b*y + c, 
data = dados, start=c(a=0, b=0, c=0))
Teste e simulação dos modelos 
● Gera predições para a variável dependente 
a partir de um conjunto de dados para as 
variáveis independente utilizando o modelo. 
dados <- predict(modelo, dadossimulacao) 
modelo <- lm(y ~ x) 
predicao <- predict(modelo, x)
Teste e simulação dos modelos 
x <- c(1,2,3,4,5,6,7,8) 
y <- c(9.6, 18.0, 18.7,26.0,4.6,18.3,19.7,37.8) 
modelo_linear <- lm(y ~ x) 
teste_linear <- predict(modelo_linear, list(x)) 
modelo_naolinear1 <- nls(y ~ cos(x)*a + b, start=c(a=0, b=0)) 
teste_naolinear1 <- predict(modelo_naolinear1, list(x)) 
modelo_naolinear2 <- nls(y ~ exp(x)*a + cos(x)*b + c, start=c(a=0, b=0, c=0)) 
teste_naolinear2 <- predict(modelo_naolinear2, list(x))
Ajuste de Modelos 
plot(x, y, main="Modelos de Regressão", 
sub="Ajuste de modelos lineares e não 
lineares") 
legend("topleft",c("a.x+b","a.cos(x) 
+b","a.e^x + b.cos(x) + c"), fill=c 
("black","blue","red")) 
lines(teste_linear, col="black") 
lines(teste_naolinear1, col="blue") 
lines(teste_naolinear2, col="red")
Intervalos de Confiança
Intervalo de Confiança 
● Intervalo de confiança para a média populacional (μ) 
quando a variância populacional (σ2) é desconhecida: 
α = Nível de confiança (99% ou 95%)
Intervalo de Confiança 
dados <- c() 
a <- 0.95 
n <- length(dados) 
z <- qnorm( (1 + a) / 2 ) 
s <- sqrt( var(dados) ) 
x <- mean(dados) 
ic <- c( x - z*s/sqrt(n) , x + z*s/sqrt(n) )
Testes Estatísticos 
Testes de Hipóteses ou Testes de Significância
Teste T 
● Teste de hipótese para médias 
● Valida se a diferença entre as médias é significativa ou se 
pode ser gerada pelo acaso; 
● A probabilidade da diferença ser gerada pelo acaso 
H0: μa = μb 
Ha: μa ≠ μb
Teste T 
● Erro Tipo I 
○ Rejeitar H0 quando H0 é verdadeira 
● Erro Tipo II 
○ Aceitar H0 quando H0 é falsa 
Situação 
H0 Verdadeira H0 Falsa 
Decisão 
Rejeitar H0 Erro Tipo I Sem Erro 
Aceitar H0 Sem Erro Erro Tipo II
Teste T 
t.test(vetor1, vetor2, conf = .95) 
Welch Two Sample t-test 
data: vetor1 and vetor2 
t = 3.4843, df = 14.894, p-value = 0.00336 
alternative hypothesis: true difference in means is not 
equal to 0 
95 percent confidence interval: 
1.861895 7.738105 
sample estimates: 
mean of x mean of y 
113.4 108.6 
H0: μa ≠ μb 
Ha: μa = μb
Teste T 
macho <- c(120, 107, 110, 116, 114, 111, 113, 117, 114, 
112) 
femea <- c(110,111,107, 108, 110, 105, 107, 106, 111, 111) 
t.test(macho, femea) 
Fonte: (BATISTA ; PRADO, 2014)
Teste χ2 
● Frequências observadas x Frequências Observadas 
● Testa se duas variáveis são independentes ou associadas, e se o grau de 
associação é significativo; 
● É utilizado para validar se uma variável adere à uma determinada 
distribuição: 
H0: As freq. observadas não são diferentes das esperadas 
Ha: As freq. observadas são diferentes das esperadas
Teste χ2 
chisq.test(dados, p = distribuição) 
H0: “dados” é aderente à 
distribuição 
Ha: “dados” não é adere à 
distribuição 
Chi-squared test for given probabilities 
data: x 
X-squared = 15.68, df = 2, p-value = 
0.0003937
Teste χ2 
● Se χ2 calculado >= χ2 tabelado: Rejeita-se H0. 
● Se χ2 calculado < χ2 tabelado: Aceita-se H0. 
● Observações: 
○ As amostras devem ser independentes; 
○ Os itens de cada amostra devem ser selecionados aleatoriamente; 
○ As observações devem ser frequências ou contagens. 
● O número de graus de liberdade, nesse caso é assim calculado: 
○ G.L. = número de classes - 1
Teste χ2 
amostra <- c(14, 25, 81) 
probabilidades <- c(1/4, 1/8, 5/8) 
chisq.test(amostra, p = probabilidades)
Teste de Correlação 
● Testa se há correlação significativa (não 
casual) entre duas variáveis: 
H0: Não existe correlação (ρ = 0) 
Ha: Existe correlação (ρ ≠ 0)
Teste de Correlação 
cor.test(variável, variável) 
Pearson's product-moment correlation 
data: anos and diversidade 
t = 4.3848, df = 8, p-value = 0.002334 
alternative hypothesis: true correlation 
is not equal to 0 
95 percent confidence interval: 
0.4474675 0.9613274 
sample estimates: 
cor 
0.840339 
H0: Não existe correlação (ρ = 0) 
Ha: Existe correlação (ρ ≠ 0)
Teste de Correlação 
anos <- c(0, 1, 3, 5, 9, 12, 13, 15, 21, 25) 
diversidade <- c(0, 0.19, 0.15, 1.49, 1.10, 1.12, 1.61, 1.42, 
1.48, 1.92) 
cor.test(anos, diversidade) 
Fonte: (BASLEY, 2004, p. 45)
Referências
CRAN. The Comprehensive R Archive Network. Disponível em: http://cran.r-project. 
org/. Acesso em: 01/03/2014. 
BASLEY, Colin R. Bioestatística Usando o R: Apostila de exemplos para o 
biólogo. Bragança: UFPA, 2004. Disponível em :http://cran.r-project. 
org/doc/contrib/Beasley-BioestatisticaUsandoR.pdf. Acesso em: 10/03/2014. 
BATISTA, João L. F.; PRADO, Paulo I. K. Introdução ao R: Apostila on-line. 
Disponível em: http://ecologia.ib.usp.br/bie5782/doku.php?id=bie5782: 
03_apostila:start. Acesso em: 09/03/2014. 
WILD, Christopher J.; SEBER, George AF. Encontros com o acaso: um 
primeiro curso de análise de dados e inferência. Rio de Janeiro: LTC, 2004.

Mais conteúdo relacionado

ODP
Linguagem R
PDF
PPTX
Análise de Regressão: aspectos teóricos e computacionais
PDF
Linguagem R
PDF
SciLab -Tutorial
PDF
Curso de Matlab avancado 1
PDF
Ponteiros e Alocação Dinâmica
PDF
Curso de Matlab avancado 2
Linguagem R
Análise de Regressão: aspectos teóricos e computacionais
Linguagem R
SciLab -Tutorial
Curso de Matlab avancado 1
Ponteiros e Alocação Dinâmica
Curso de Matlab avancado 2

Mais procurados (20)

PPT
Matemática e Mídias
PPTX
Estrutura de dados
PDF
Complexidade algoritmos
PPTX
Crescimento funcao grau_ 1
PPSX
Crescimento de funcao
PDF
Estrutura de Dados - Alocação dinâmica de memória
PPTX
Pesquisa Quantitativa: aspectos teóricos e computacionais
PPTX
Aula 5 algoritimos(continuacao)
PDF
Algoritmos e Programação: Matrizes
PPTX
PPTX
Introdução a programação gráfica com Processing - Aula 02
PDF
Análise exploratória e modelação com R parte 1
PDF
Introdução ao paradigma funcional com scala
PDF
Apostila estrutura de dados 2
PDF
Regressão Espacial
PDF
Minicurso Matlab IVSEE 2013 UERJ
PDF
Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...
PDF
Função afim
Matemática e Mídias
Estrutura de dados
Complexidade algoritmos
Crescimento funcao grau_ 1
Crescimento de funcao
Estrutura de Dados - Alocação dinâmica de memória
Pesquisa Quantitativa: aspectos teóricos e computacionais
Aula 5 algoritimos(continuacao)
Algoritmos e Programação: Matrizes
Introdução a programação gráfica com Processing - Aula 02
Análise exploratória e modelação com R parte 1
Introdução ao paradigma funcional com scala
Apostila estrutura de dados 2
Regressão Espacial
Minicurso Matlab IVSEE 2013 UERJ
Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...
Função afim
Anúncio

Destaque (8)

PDF
Curso Intro à Ciência de Dados com R - 2 - Aplicacoes
PDF
Medidas de Avaliação de Classificação em Mineração de Texto
PPTX
R, Python, Twitter e Tableau para Business Intelligence
PPTX
Text Mining para BI e Finalização do Dashboard no Tableau
PDF
Lista maio 2012 respondida
PPT
Princípios da estatística experimental
PDF
Exercicios resolv estatistica
PDF
Text Mining with R -- an Analysis of Twitter Data
Curso Intro à Ciência de Dados com R - 2 - Aplicacoes
Medidas de Avaliação de Classificação em Mineração de Texto
R, Python, Twitter e Tableau para Business Intelligence
Text Mining para BI e Finalização do Dashboard no Tableau
Lista maio 2012 respondida
Princípios da estatística experimental
Exercicios resolv estatistica
Text Mining with R -- an Analysis of Twitter Data
Anúncio

Semelhante a Minicurso de estatística experimental com o R - III SIC IFNMG (20)

PDF
Beabá do R
PDF
Estrutura de dados
PDF
Uso de estatísticas pelo postgre sql
PDF
Mini curso-prof-peternelli
PDF
Aula 01 - Linguagem de Programação R - Introdução
PDF
Estatística - Aula 2
PPT
Analise exploratório de dados
PPT
Introdução a Algoritmos e Programas.ppt
DOC
Tutoriais para criação e edição de gráficos no r
PDF
PPT
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
PPT
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
PPT
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
PPT
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
PDF
ARS - Análise de Redes Sociais - VIII ERI MG
PPT
Estdescr
PDF
Aula 13 - Matrizes
PDF
CURSO YELOOW BELT SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
PDF
Aula 5 – Algoritmos – Estrutura Sequencial – Parte 2.pdf
Beabá do R
Estrutura de dados
Uso de estatísticas pelo postgre sql
Mini curso-prof-peternelli
Aula 01 - Linguagem de Programação R - Introdução
Estatística - Aula 2
Analise exploratório de dados
Introdução a Algoritmos e Programas.ppt
Tutoriais para criação e edição de gráficos no r
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
Unidade-I-Introdução-a-Algoritmos-e-Programas.ppt
ARS - Análise de Redes Sociais - VIII ERI MG
Estdescr
Aula 13 - Matrizes
CURSO YELOOW BELT SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
Aula 5 – Algoritmos – Estrutura Sequencial – Parte 2.pdf

Último (10)

PDF
Introdução à ciência de dados Aula 01.pdf
PPTX
Obsesidade_e_atividade_fisica em pessoas
PPTX
BASES DE DADOS CIENTÍFICAS , metodos e metodologias cientificas .pptx
PDF
BIOESTATÍSTICA_20250817_143657APRESENTAÇÃO
DOCX
Resenha crítica - modelo- 2025, 13 agosto
PDF
Aula top demais para ser olhada por todos
PDF
Inicialização com as bibliotecas pandas e NumpyAula 02.pdf
PDF
DIAGNOSTICO DE AVARIAS EM AUTOMATISMOS INDUSTRIAIS.pdf
DOCX
Resumos dos cursos conteudos APRENDA (2).docx
PDF
Planejamento de pesquisa - ANALISE DE DADOS
Introdução à ciência de dados Aula 01.pdf
Obsesidade_e_atividade_fisica em pessoas
BASES DE DADOS CIENTÍFICAS , metodos e metodologias cientificas .pptx
BIOESTATÍSTICA_20250817_143657APRESENTAÇÃO
Resenha crítica - modelo- 2025, 13 agosto
Aula top demais para ser olhada por todos
Inicialização com as bibliotecas pandas e NumpyAula 02.pdf
DIAGNOSTICO DE AVARIAS EM AUTOMATISMOS INDUSTRIAIS.pdf
Resumos dos cursos conteudos APRENDA (2).docx
Planejamento de pesquisa - ANALISE DE DADOS

Minicurso de estatística experimental com o R - III SIC IFNMG

  • 1. Minicurso de Estatística com Dilermando Pacheco e Petrônio Cândido
  • 2. Agenda ● O Pacote R ● Carregando Dados ● Estatística Descritiva ○ Medidas de tendência central e dispersão ○ Gráficos ● Estatística Inferencial ○ Regressão ○ Testes Estatísticos
  • 4. O que é o R ● Um programa de estatística para uso geral; ○ Um conjunto de bibliotecas/plugins ○ Uma linguagem de programação ● FOSS ○ Free open source software ○ Programa gratuito de código aberto
  • 5. Porquê usar o R? ● Primeiro: ELE É GRATUITO! ○ Ao contrário do SPSS, SAS… ● Ele é não é voltado para nenhuma área específica ○ Ao contrário do SPSS... ● Muita documentação, em todas as linguagens
  • 6. Porquê usar o R? ● No R é possível programar! ○ Grande base de plugins para todo o tipo de tarefa de análise de dados ● Interoperabilidade ○ Abre diversos tipos de arquivos ○ Comunica-se com outros sistemas
  • 7. Características do R? ● O R originalmente usa uma interface de linha de comando que é pouco amigável para usuários que não vem das exatas/tecnológicas e engenharias… ● Para tarefas mais complexas algum conhecimento em programação é bastante recomendado!
  • 8. Características do R ● Atualmente já existem interfaces gráficas com o usuário, tais como o: ○ R Commander ○ R Studio
  • 9. Instalando o R ● R Básico ○ http://www.r-project.org/ ● R Studio ○ https://www.rstudio.com/
  • 10. Pacotes ● Pacotes são extensões ao programa básico escritos pela comunidade de usuários; ● Com os pacotes podemos agregar novas funcionalidades ao R
  • 11. Pacotes ● Baixa o pacote da internet e instalar no computador install.packages("pacote") ● Carregar o pacote na memória (antes de começar a utilizá-lo) library("mypkg")
  • 13. Variáveis ● Uma variável armazena um ou mais valores nome <- valor
  • 14. Tipos de Dados no R ● Escalar ● Vetores ● Matrizes ● Fatores ● Data Frames
  • 15. Tipos de Dados no R ● Escalar ○ Um único dado. ○ Número ■ 1, -1, 1.5 ○ Caractere ■ “texto” ○ Lógico ■ TRUE / FALSE
  • 16. Tipos de Dados no R ● Vetores ○ Conjunto de dados de um mesmo tipo, com uma única dimensão [linha OU coluna] v1 <- c(1,2,3,5) # vetor numérico v2 <- c("A","BB","CCC") # vetor de caracteres v3 <- c(TRUE,TRUE,FALSE) #vetor de valores lógicos
  • 17. Tipos de Dados no R ● Intervalos ○ seq(from = inicio, to = fim, by = passo) ■ v1 <- seq(from = 1, to = 50, by = 10) ○ início : fim ■ v1 <- c(1:20)
  • 18. Tipos de Dados no R ● Fatores ○ Associa um índice a cada valor nominal; ○ Variáveis categóricas/nominais sem relação de ordem dados <- c(“M”,”F”,”F”,”M”,”F”,”M”,”M”,”F”) sexos <- factor(dados)
  • 19. Tipos de Dados no R ● Matrizes ○ Um conjunto de dados de um único tipo, com duas dimensões ○ Tabela do um mesmo tipo de dados, com várias linhas e colunas m<-matrix(dados, nrow=linhas,ncol=colunas)
  • 20. Tipos de Dados no R ● Data Frames ○ Tabela com várias linhas e colunas, em que cada coluna pode ser de um tipo de dados diferente: ■ Linhas : Observações ■ Colunas : Variáveis ○ As colunas em um data frame podem ter nomes;
  • 21. Tipos de Dados no R ● Data Frames ○ idades <- c(20, 30, 25) ○ sexos <- c(“M”,”F”,”F”) ○ pesos <- c(70.5, 64.3, 60.1) ○ df <- data.frame(idades, sexos, pesos) ○ df$idades
  • 22. Funções Úteis ● Gera uma matriz a partir da combinação em colunas de dois vetores dados <- cbind(vetor, vetor, …) ● Gera uma matriz a partir da combinação em linhas de dois vetores dados <- rbind(vetor, vetor, …) ● Edita os dados de um objeto (vetor, matriz, data frame etc…) dados <- edit(dados)
  • 23. Funções Úteis ● O somatório de todos os itens de um vetor soma <- sum(vetor) ● A quantidade de itens de um vetor n <- length(vetor) ● Edita os dados de um objeto (vetor, matriz, data frame etc…) dados <- edit(dados)
  • 24. Carregar dados ● Ler um arquivo de dados simples mydata <- read.table("c:/mydata.csv", header=TRUE, sep=",") ● Gravar um arquivo de dados simples write.table(mydata, "c:/mydata.txt", sep="t")
  • 25. Carregar dados ● Existem pacotes para interagir com diversas outras fontes de dados: ■ Excell ■ SPSS ■ Bancos de Dados ● Consulte: (CRAN, 2014)
  • 27. Funções úteis Função Utilidade abs(x) Valor absoluto sqrt(x) Raiz quadrada ceiling(x), floor(x) Arredondamento para cima e para baixo trunc(x) Retorna a parte inteira cos(x), sen(x), tan(x) Funções trigonométricas log(x), log10(x), exp(x) Logaritmos e exponenciação
  • 28. Estatísticas Descritivas ● Resumo: summary(dados) ● Média: mean(dados) ● Mediana: median(dados) ● Quantis: quantile(dados) ● Variância: var(dados) ● Desvio Padrão: sd(dados)
  • 29. Tabelas de Frequência tabela <- table(dados) tabela <- table(dados$variavel, dados$variavel) tabela <- xtabs(dados$variavel ~ dados$variavel)
  • 30. Correlação e Covariância ● Coeficiente de correlação entre dois vetores cor(vetor,vetor) ● Matriz de correlação em matrizes e data frames cor(dados)
  • 32. Função Plot plot(dados, main = ”titulo”, sub=”sub título”, type =”tipo”, col = vetordecores, xlab = “rótulo do eixo x”, ylab = “rótulo do eixo y” pch = simbolo, lty = tipo de linha, ltw = expessura da linha )
  • 33. Parâmetros ● Type ○ l = Linha ○ p = Pontos ○ b = Linha e ponto não sobrepostos ○ o = Linha e ponto sobrepostos ○ h = Histograma ○ s = Degraus
  • 36. Outras funções úteis ● legend(“orientação”, valores, fill=cores) ○ Acrescenta uma legenda no gráfico ● text(x, y, “texto”) ○ Acrescenta uma anotação no gráfico ● mtext(“texto”, side=n) ○ Acrescenta uma anotação na bordas do gráficos
  • 37. Gráficos barplot(dados) dotchart(dados) hist(dados) lines(dados) pie(dados) points(dados) polygon(dados)
  • 38. Gráficos 3D ● Scatterplot 3D library(scatterplot3d) scatterplot3d(x,y,z) ● Plot 3D (Gráfico Interativo) library(rgl) plot3d(x,y,z)
  • 41. Distribuições de Probabilidades ● ddist(valor, …) ○ Retorna a densidade de probabilidade (Probabilidade de um valor dentro da distribuição) ● pdist(valor, …) ○ Retorna a densidade acumulada de probabilidade
  • 42. Distribuições de Probabilidades ● qdist(quantis,...) ○ Retorna os valores, dentro da distribuição, para as probabilidades informadas; ○ Pode ser um escalar ou um vetor com os quantis; ● rdist(n,...) ○ Gera um vetor de n números aleatórios dentro da distribuição;
  • 43. Distribuições de Probabilidades ● Distribuição Normal
  • 44. Distribuições de Probabilidades ● d <- dnorm(valor, media, desviopadrao) ○ dnorm(95, 70, 15) ● p <- pnorm(valor, media, desviopadrao) ○ dnorm(95, 70, 15) ● valor <- qnorm(quantis, media, desviopadrao) ○ dnorm(c(0.05, 0.95), 70, 15) ● vetor <- rnorm(n, media, desviopadrao) ○ dnorm(30, 70, 15)
  • 45. Distribuições de Probabilidades ● qqnorm(dados) ○ dnorm(95, 70, 15) ● qqline(valores) ○ dnorm(95, 70, 15)
  • 46. Outras distribuições ● Binomial dbinom(x, tamanho, prob) pbinom(q, tamanho, prob) qbinom(p, tamanho, prob) rbinom(n, tamanho, prob) ● Poisson dpois(x, lamda) ppois(q, lamda) qpois(p, lamda) rpois(n, lamda)
  • 47. Distribuições Empíricas w <- density(dados) plot(w)
  • 48. Modelos e Fórmulas Relações entre variáveis
  • 49. Modelo ● Um modelo é uma fórmula que expressa algum relacionamento entre variáveis; ● Variáveis Dependentes ● Variáveis Independentes
  • 50. ● dependentes ~ independentes Y = β0 + β1Xa + β2Xb + … + ϵ ● Dependente: Y ● Independentes: Xa, Xb, … ● Coeficientes: β0, β1, β2, ... Y ~ Xa + Xb Fórmulas
  • 51. Regressão Ajustando os coeficientes...
  • 52. Análise de Variáncia - ANOVA ● Dados segmentados em blocos; ● Há diferenças significativas nas médias e variâncias nas amostras colhidas entre os blocos?
  • 53. Análise de Variáncia - ANOVA ● Data Frame ○ Variável de Bloco : Factor ○ Variável quantitativa mensurada modelo <- aov(Variavel ~ Bloco)
  • 54. Análise de Variáncia - ANOVA A <- c(78, 88, 87, 88, 83, 82, 81, 80, 80, 89) B <- c(78, 78, 83, 81, 78, 81, 81, 82, 76, 76) C <- c(79, 73, 79, 75, 77, 78, 80, 78, 83, 84) D <- c(77, 69, 75, 70, 74, 83, 80, 75, 76, 75) dados <- data.frame(Localidade=gl(4,10), Massa=c(A,B,C,D)) dados$Localidade <- as.factor(dados$Localidade) # Análise de variância modelo <- aov(Massa ~ Localidade) summary(modelo) # o teste de Tukey HSD para mostrar os pares de grupos TukeyHSD(modelo) plot(TukeyHSD(modelo)) Fonte: (BASLEY, 2004, p. 32)
  • 55. Regressão Linear Simples ● Ajusta os coeficientes das variáveis independentes de uma fórmula a partir de um conjunto de dados modelo <- lm(formula = y ~ x, data = dados)
  • 56. Exemplo x <- c(1,2,3,4,5,6,7,8) y <- c(9.6, 18.0, 18.7,26.0,4.6,18.3,19.7,37.8) modelo <- lm(y ~ x) plot(x, y) abline(modelo)
  • 57. Exemplo x <- c(1,2,3,4,5,6,7,8) y <- c(9,3,2,7,3,3,1,1) z <- c(9.6, 18.0, 18.7,26.0,4.6,18.3,19.7,37.8) modelo <- lm(z ~ x + y) library(scatterplot3d) grafico <- scatterplot3d(x, y, z) grafico$plane3d(modelo)
  • 58. Regressão Não Linear ● Ajusta os coeficientes das variáveis independentes de uma fórmula a partir de um conjunto de dados ● Os coeficientes e seus valores iniciais devem ser indicados modelo <- nls(formula = z ~ a^x + b*y + c, data = dados, start=c(a=0, b=0, c=0))
  • 59. Teste e simulação dos modelos ● Gera predições para a variável dependente a partir de um conjunto de dados para as variáveis independente utilizando o modelo. dados <- predict(modelo, dadossimulacao) modelo <- lm(y ~ x) predicao <- predict(modelo, x)
  • 60. Teste e simulação dos modelos x <- c(1,2,3,4,5,6,7,8) y <- c(9.6, 18.0, 18.7,26.0,4.6,18.3,19.7,37.8) modelo_linear <- lm(y ~ x) teste_linear <- predict(modelo_linear, list(x)) modelo_naolinear1 <- nls(y ~ cos(x)*a + b, start=c(a=0, b=0)) teste_naolinear1 <- predict(modelo_naolinear1, list(x)) modelo_naolinear2 <- nls(y ~ exp(x)*a + cos(x)*b + c, start=c(a=0, b=0, c=0)) teste_naolinear2 <- predict(modelo_naolinear2, list(x))
  • 61. Ajuste de Modelos plot(x, y, main="Modelos de Regressão", sub="Ajuste de modelos lineares e não lineares") legend("topleft",c("a.x+b","a.cos(x) +b","a.e^x + b.cos(x) + c"), fill=c ("black","blue","red")) lines(teste_linear, col="black") lines(teste_naolinear1, col="blue") lines(teste_naolinear2, col="red")
  • 63. Intervalo de Confiança ● Intervalo de confiança para a média populacional (μ) quando a variância populacional (σ2) é desconhecida: α = Nível de confiança (99% ou 95%)
  • 64. Intervalo de Confiança dados <- c() a <- 0.95 n <- length(dados) z <- qnorm( (1 + a) / 2 ) s <- sqrt( var(dados) ) x <- mean(dados) ic <- c( x - z*s/sqrt(n) , x + z*s/sqrt(n) )
  • 65. Testes Estatísticos Testes de Hipóteses ou Testes de Significância
  • 66. Teste T ● Teste de hipótese para médias ● Valida se a diferença entre as médias é significativa ou se pode ser gerada pelo acaso; ● A probabilidade da diferença ser gerada pelo acaso H0: μa = μb Ha: μa ≠ μb
  • 67. Teste T ● Erro Tipo I ○ Rejeitar H0 quando H0 é verdadeira ● Erro Tipo II ○ Aceitar H0 quando H0 é falsa Situação H0 Verdadeira H0 Falsa Decisão Rejeitar H0 Erro Tipo I Sem Erro Aceitar H0 Sem Erro Erro Tipo II
  • 68. Teste T t.test(vetor1, vetor2, conf = .95) Welch Two Sample t-test data: vetor1 and vetor2 t = 3.4843, df = 14.894, p-value = 0.00336 alternative hypothesis: true difference in means is not equal to 0 95 percent confidence interval: 1.861895 7.738105 sample estimates: mean of x mean of y 113.4 108.6 H0: μa ≠ μb Ha: μa = μb
  • 69. Teste T macho <- c(120, 107, 110, 116, 114, 111, 113, 117, 114, 112) femea <- c(110,111,107, 108, 110, 105, 107, 106, 111, 111) t.test(macho, femea) Fonte: (BATISTA ; PRADO, 2014)
  • 70. Teste χ2 ● Frequências observadas x Frequências Observadas ● Testa se duas variáveis são independentes ou associadas, e se o grau de associação é significativo; ● É utilizado para validar se uma variável adere à uma determinada distribuição: H0: As freq. observadas não são diferentes das esperadas Ha: As freq. observadas são diferentes das esperadas
  • 71. Teste χ2 chisq.test(dados, p = distribuição) H0: “dados” é aderente à distribuição Ha: “dados” não é adere à distribuição Chi-squared test for given probabilities data: x X-squared = 15.68, df = 2, p-value = 0.0003937
  • 72. Teste χ2 ● Se χ2 calculado >= χ2 tabelado: Rejeita-se H0. ● Se χ2 calculado < χ2 tabelado: Aceita-se H0. ● Observações: ○ As amostras devem ser independentes; ○ Os itens de cada amostra devem ser selecionados aleatoriamente; ○ As observações devem ser frequências ou contagens. ● O número de graus de liberdade, nesse caso é assim calculado: ○ G.L. = número de classes - 1
  • 73. Teste χ2 amostra <- c(14, 25, 81) probabilidades <- c(1/4, 1/8, 5/8) chisq.test(amostra, p = probabilidades)
  • 74. Teste de Correlação ● Testa se há correlação significativa (não casual) entre duas variáveis: H0: Não existe correlação (ρ = 0) Ha: Existe correlação (ρ ≠ 0)
  • 75. Teste de Correlação cor.test(variável, variável) Pearson's product-moment correlation data: anos and diversidade t = 4.3848, df = 8, p-value = 0.002334 alternative hypothesis: true correlation is not equal to 0 95 percent confidence interval: 0.4474675 0.9613274 sample estimates: cor 0.840339 H0: Não existe correlação (ρ = 0) Ha: Existe correlação (ρ ≠ 0)
  • 76. Teste de Correlação anos <- c(0, 1, 3, 5, 9, 12, 13, 15, 21, 25) diversidade <- c(0, 0.19, 0.15, 1.49, 1.10, 1.12, 1.61, 1.42, 1.48, 1.92) cor.test(anos, diversidade) Fonte: (BASLEY, 2004, p. 45)
  • 78. CRAN. The Comprehensive R Archive Network. Disponível em: http://cran.r-project. org/. Acesso em: 01/03/2014. BASLEY, Colin R. Bioestatística Usando o R: Apostila de exemplos para o biólogo. Bragança: UFPA, 2004. Disponível em :http://cran.r-project. org/doc/contrib/Beasley-BioestatisticaUsandoR.pdf. Acesso em: 10/03/2014. BATISTA, João L. F.; PRADO, Paulo I. K. Introdução ao R: Apostila on-line. Disponível em: http://ecologia.ib.usp.br/bie5782/doku.php?id=bie5782: 03_apostila:start. Acesso em: 09/03/2014. WILD, Christopher J.; SEBER, George AF. Encontros com o acaso: um primeiro curso de análise de dados e inferência. Rio de Janeiro: LTC, 2004.