0% acharam este documento útil (0 voto)
4 visualizações54 páginas

Tutorial Completo do Software R

A apostila tutorial do software R, orientada pelo Professor Paulo José Pereira, abrange conceitos fundamentais de estatística aplicada à engenharia, incluindo a interface do R, tipos de dados, e operações básicas. O documento detalha também estatística descritiva, probabilidade, inferência estatística, regressão e correlação linear, além de gráficos e outras funcionalidades do software. O R é apresentado como uma ferramenta poderosa e gratuita para análise estatística, com uma linguagem de programação acessível.

Enviado por

Virginia Vitoria
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
4 visualizações54 páginas

Tutorial Completo do Software R

A apostila tutorial do software R, orientada pelo Professor Paulo José Pereira, abrange conceitos fundamentais de estatística aplicada à engenharia, incluindo a interface do R, tipos de dados, e operações básicas. O documento detalha também estatística descritiva, probabilidade, inferência estatística, regressão e correlação linear, além de gráficos e outras funcionalidades do software. O R é apresentado como uma ferramenta poderosa e gratuita para análise estatística, com uma linguagem de programação acessível.

Enviado por

Virginia Vitoria
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

UNIVERSIDADE FEDERAL DO VALE DO SÃO FRANCISCO

Apostila tutorial do software R

Professor orientador: Paulo José Pereira


Monitor: Pedro Henrique Duarte Santana
Monitor: Jefferson Barbosa
Disciplina: Estatística aplicada à engenharia

Juazeiro-Ba
Sumário
1. Sobre o R .............................................................................................................. 5
1.1. O software R ................................................................................................... 5
1.2. Interface do R ................................................................................................. 5
1.3. Tipos de dados ................................................................................................ 6
1.4. Tipos de objetos .............................................................................................. 7
1.4.1. Vetores..................................................................................................... 7
1.4.2. Matrizes e arrays ...................................................................................... 8
1.4.3. Data-frames ........................................................................................... 11
1.4.4. Operações .............................................................................................. 11
1.5. Comandos básicos ........................................................................................ 12
1.5.1. Operadores e funções básicas do R ........................................................ 12
1.5.2. Operações e funções matemáticas .......................................................... 13
1.5.3. Função Ajuda no R ................................................................................ 14
1.6. Entrada de arquivos externos ........................................................................ 14
2. Estatística descritiva ............................................................................................ 15
2.1. Introdução..................................................................................................... 15
2.2. Medidas de tendência central ........................................................................ 15
2.2.1. Média aritmética ................................................................................ 16
2.2.2. Mediana Md .......................................................................................... 16
2.2.3. Moda Mo ............................................................................................... 16
2.3. Medidas de localização ................................................................................. 17
2.3.1. Percentil ................................................................................................ 17
2.3.2. Quartil ................................................................................................... 17
2.4. Medidas de variabilidade .............................................................................. 18
2.4.1. Variância ................................................................................................ 18
2.4.2. Desvio padrão ........................................................................................ 18
2.4.3. Coeficiente de variação .......................................................................... 18
2.4.4. Organização de dados ............................................................................ 19
3. Probabilidade ...................................................................................................... 20
3.1. Introdução..................................................................................................... 20
3.2. Calculando a probabilidade ........................................................................... 20
4. Variáveis aleatórias.............................................................................................. 20
4.1. Introdução..................................................................................................... 21
4.2. Variáveis aleatórias discretas ......................................................................... 21
4.2.1. Distribuição Binomial ............................................................................ 21
4.2.2. Distribuição de Poisson.......................................................................... 22
4.2.3. Distribuição Hipergeométrica ................................................................ 23
4.2.4. Distribuição Geométrica ........................................................................ 23
4.2.5. Distribuição Uniforme discreta .............................................................. 24
4.3. Variáveis aleatórias contínuas........................................................................ 24
4.3.1. Distribuição Uniforme ........................................................................... 25
4.3.2. Distribuição Exponencial ....................................................................... 25
4.3.3. Distribuição Normal .............................................................................. 26
4.4. Outras distribuições no R .............................................................................. 27
5. Inferência estatística ............................................................................................ 28
5.1. Introdução..................................................................................................... 28
5.2. Intervalo de confiança ................................................................................... 28
5.3. Teste de hipóteses ......................................................................................... 29
5.3.1. Teste de hipótese para média .................................................................. 29
5.3.2. Teste de hipótese para proporção............................................................ 33
5.3.3. Teste de hipótese para variância ............................................................. 35
5.3.4. Outros tipos de testes ............................................................................. 37
6. Regressão e correlação linear .............................................................................. 37
6.1. Introdução..................................................................................................... 37
6.2. Regressão linear simples ............................................................................... 38
6.3. Coeficiente de Correlação ............................................................................. 40
6.4. Coeficiente de Determinação ........................................................................ 41
7. Gráficos .............................................................................................................. 41
7.1. Introdução..................................................................................................... 41
7.2. Comandos básicos ........................................................................................ 41
7.2.1. Opções de configuração ......................................................................... 41
7.2.2. Funções utilizáveis................................................................................. 42
7.3. Gráfico de dispersão ..................................................................................... 44
7.4. Histograma ................................................................................................... 45
7.5. Barplot .......................................................................................................... 46
7.6. Boxplot ......................................................................................................... 47
7.7. Gráfico de pizza ............................................................................................ 49
8. Outras funcionalidades ........................................................................................ 51
8.1. Introdução..................................................................................................... 51
8.2. Programando com R ..................................................................................... 51
8.2.1. Entrada de dados.................................................................................... 52
8.2.2. Funções condicionais ............................................................................. 52
8.2.3. Funções interativas ................................................................................ 53
9. Referencias bibliográficas ................................................................................... 54
1. Sobre o R

1.1. O software R

O R é uma linguagem e ambiente para computação estatística e para gráficos.


Faz parte do grupo de Softwares Livres dentro do Projeto GNU, sendo possível
acessar seu código fonte. O software pode ser compilado sobre as plataformas
UNIX, Windows e MacOs. Além disso, o R é uma série integrada de instalações
de softwares para manipulação de dados, cálculo e exibição gráfica, fornecendo
ferramentas que possibilitam uma série de operadores para cálculos com
arranjos e matrizes, ferramentas para análise de dados e gráficos, com uma
linguagem simples de programação que inclui condições, loops, funções
recursivas e entrada e saída de dados.

O software começou a ser desenvolvido por Robert Gentleman e Ross Ihaka do


Departamento de Estatística da Universidade de Auckland em Nova Zelândia,
mais conhecidos por “R & R”, apelido do qual originou-se o nome R do
programa. O objetivo era produzir um software para as suas aulas de laboratório
baseado na já revolucionária linguagem S, utilizada pelo software comercial S-
Plus criado por Jonh M. Chambers da AT&T que atualmente vem contribuindo
para o aperfeiçoamento e ampliação das análises estatísticas do R. Após o
lançamento e com os incentivos dos primeiros usuários, o código fonte foi
disponibilizado, e em 1997 foi formado um grupo de profissionais
possibilitando assim, a atualização mais rápida do software. Por ser um
software livre, o R tem se desenvolvido rapidamente e tem sido estendido por
uma enorme coleção de pacotes, os quais usuários que se sintam aptos podem
implementar códigos, criando mais ferramentas para técnicas estatísticas.

Desde sua criação, o R vem ganhando cada vez mais adeptos em todo o mundo,
muito disso se deve ao fato de ser totalmente gratuito. Apesar disso, exigi do
usuário o conhecimento das análises que está se fazendo, diminuindo assim as
chances de uma interpretação errada dos resultados. Apesar de gratuito o R se
mostra uma ferramenta poderosa e neste tutorial serão descritos algumas de
suas aplicabilidades.

1.2. Interface do R

Para iniciar o tutorial é necessário fazer o download do software através do site


[Link] e logo após, instalar. O tutorial será feito para o
software R na plataforma do Windows, mas as funções apresentadas daqui em
diante são usadas da mesma forma nas outras plataformas.

Após o download e sua instalação, inicia-se o R e automaticamente se abrirá


sua tela inicial com seu prompt de comando como mostra a figura a seguir.

5
Figura 1: Interface inicial do R

Na barra superior terão os menus de arquivo, editar, visualizar, misc, pacotes,


janelas e ajuda. No menu pacotes poderão ser instalados conjuntos de funções
que facilitam ou possibilitam a realização das análises estatísticas, além de
possuírem ajuda para suas funções e, até mesmo, demonstrações de execução, e
também as funções já existentes no software. Os pacotes que já vêm instalados
no próprio software são capazes de uma ótima análise dos dados estatísticos,
sendo competentes para o propósito do tutorial, porém quem desejar uma
ferramenta mais específica poderá adiciona lá na forma de um pacote.

1.3. Tipos de dados

Na ferramenta R é possível se trabalhar com 4 tipos de dados diferentes, pois


apesar de ter um foco para análises estatísticas, o software também é uma
linguagem de programação. Esses dados são: numéricos, caracteres, lógicos e
números complexos. Abaixo são listados alguns exemplos.

6
> numero <- 100 #Dado numérico
> numero
[1] 100
>
> string <- "Letras" #Caracteres
> string
[1] "Letras"
>
>1>5 #Lógicos
[1] FALSE
>
> x <- 5+2i #Números complexos
>x
>[1] 5+2i

Cada dado tem atributos como tipo e tamanho, os quais podem ser descobertos
a partir dos comandos mode e length, consecutivamente.

> mode(numero)
[1] "numeric"
> length(numero)
[1] 1
> mode(string)
[1] "character"
> length(string)
[1] 1
> mode(x)
[1] "complex"
>
> mode(cos) #Tipo da função cosseno
>[1] "function"

1.4. Tipos de objetos

Os tipos básicos de objetos do R são vetores, matrizes e arrays, data-frames.


Esses tipos de objetos são para armazenagem de dados e se diferem pela forma
do armazenamento e pela operação com os dados.

1.4.1. Vetores

Vetor é o tipo mais simples para armazenar dados, sendo um conjunto de


dados unidimensional. Sua vantagem é poder armazenar em forma de lista
e aplicar funções e operações sobre todos com poucos comandos. Em sua
estrutura podem ser feitos vetores numéricos, ou de caracteres. Abaixo é
apresentada uma tabela para criação de vetores no R.

7
V <- c(1, 2, 3, 4, 5) Concatena valores.
V <- (n1: n2) Sequência de valores de n1 ate n2, pulando de uma em
uma unidade.
V<- rep (n1, r) Cria um vetor contendo r vezes o valor n1
V<- seq (x,y,z) Cria uma sequência de números, dentro do intervalo
{xy}, pulando intervalos de z unidades.
V<- gl (i, r) Cria um vetor contendo “i” níveis representados pelos
números de um a “i”, sendo que cada nível contém r
repetições.

Tabela 1: Criação de um vetor

Em seguida são apresentados exemplos feitos no R.

> V1 <- c (1,2,3,4,5)


> V1
[1] 1 2 3 4 5

> V2 <- (1:10)


> V2
[1] 1 2 3 4 5 6 7 8 9 10

> V3 <- rep(3,4)


> V3
[1] 3 3 3 3

> V4 <- seq(1,5,2)


> V4
[1] 1 3 5

> V5 <- gl(5,2)


> V5
[1] 1 1 2 2 3 3 4 4 5 5
Levels: 1 2 3 4 5

> V6 <- c(V3, (2:1), 9) #É possível concatenar vetores, com outros


intervalos e outros números.
> V6
>[1] 3 3 3 3 2 1 9

Essas sintaxes também servem para vetores de caracteres, apenas


declarando os caracteres entre aspas.

1.4.2. Matrizes e arrays

A matriz é o tipo de armazenamento que segue o mesmo princípio dos


vetores, mas sua armazenagem é bidimensional, já o array é uma ideia
generalizada da matriz, sendo multidimensional. Neste tutorial
trabalharemos mais com a matriz, mas todas as sintaxes apresentadas
podem ser usadas em arrays.

8
Os dados podem ser acessados a partir dos índices de suas linhas e colunas,
através dos colchetes. Por “default” a matriz é preenchida por colunas e o
argumento opcional byrow=T inverte este padrão. Existem diversas formas
de se declarar uma matriz no R, algumas dessas formas serão
exemplificadas.

> #A matriz pode ser criada a partir de um vetor feito anteriormente


> V <- c(1:10)
> #A sintaxe da matriz é a seguinte:
M<-matrix(data = dados, nrow = m, ncol = n)
> M <- matrix(V,nrow=2,ncol=5)
>M
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
>#No caso de um array será semelhante, apenas definindo o numero de
dimensões que ele terá:
A<-array(dados,dim=c(,n,m,p) )
> A<-array(1:16,dim=c(2,4,2))
>A
,,1

[,1] [,2] [,3] [,4]


[1,] 1 3 5 7
[2,] 2 4 6 8

,,2

[,1] [,2] [,3] [,4]


[1,] 9 11 13 15
[2,] 10 12 14 16

> #Para preencher a matriz ordenando pelas linhas :


M<-matrix(data=dados, nrow=m, ncol=n, byrow=T)
> #Podemos também ordenar o preenchimento a partir do byrow=Q, onde
Q=1 ativa disposição por linhas, ja se Q=0 mantém disposição por
colunas.
> M <- matrix(V,2,5,byrow=T)
>M
[,1] [,2] [,3] [,4] [,5]
[1,] 1 2 3 4 5
[2,] 6 7 8 9 10

Depois de declarada uma matriz é possível adicionar novas colunas e linhas


a partir das funções cbind e rbind, e também se pode obter os totais das
somas, tanto de linhas como de colunas. A modificação da matriz também é
feita pela função fix, a qual abre uma janela no R em que se possibilita
mudança tanto nos valores, como nas linhas e colunas. Para selecionar um
elemento da matriz usam-se os colchetes. Abaixo são apresentados os
exemplo no R.

9
> M<-matrix(1:10,2)
>M
[,1] [,2] [,3] [,4] [,5]
[1,] 1 3 5 7 9
[2,] 2 4 6 8 10
> M<- cbind(M,20) #Adiciona coluna como sendo a ultima
>M
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 1 3 5 7 9 20
[2,] 2 4 6 8 10 20
> M<- rbind(c(11,12,13),M) #Adiciona linha como sendo a primeira
>M
[,1] [,2] [,3] [,4] [,5] [,6]
[1,] 11 12 13 11 12 13
[2,] 1 3 5 7 9 20
[3,] 2 4 6 8 10 20

> rowSums(M) #Somatório nas linhas


[1] 72 45 50
> colSums(M) #Somatório nas colunas
[1] 14 19 24 26 31 53

> M[3,2] #Acessa o valor que esta na linha 3,coluna 2


[1] 4
> M[,2:4] #Acessa os valores de todas as linhas, nas colunas de 2 a 4
[,1] [,2] [,3]
[1,] 12 13 11
[2,] 3 5 7
[3,] 4 6 8
> M[3,] #Acessa os valores da linha 3 em todas as colunas
[1] 2 4 6 8 10 20

> #Acessando a função fix, é possível alterar as características da matriz


através da janela que se abre:
> Matriz<-matrix(c(1,2,3,4,5,6),2)
> Matriz
[,1] [,2] [,3]
[1,] 1 3 5
[2,] 2 4 6
> fix(Matriz)

>#Na janela podemos trocar os nomes das colunas, adicionar outros valores,
entre outras coisas.

10
Figura 2: Janela de edição da função fix()

1.4.3. Data-frames

Os tipos de objetos vistos até agora forçam os elementos a serem do


mesmo tipo, no caso da data-frame, as colunas podem ser tratadas
separadamente, dessa forma podemos ter colunas com valores numéricos e
colunas com caracteres no mesmo objeto. Mas é necessário observar que
dentro de uma mesma coluna os elementos terão de ser do mesmo tipo. A
forma de manipular é semelhante a matriz, a seguir é mostrada a sintaxe no
software.

> DF<-[Link](X=letters[1:5],Y= 5:1)


> DF
X Y #Coluna X de caracteres e Y numérica
1a5
2b4
3c3
4d2
5e1

1.4.4. Operações

Sabendo os tipos de objetos fica mais prático aplicar operações nos dados,
pois se aplicados em vetores, matrizes, arrays ou data-frames todos os
dados irão receber as operações. Com esses objetos podem ser feitas

11
somas, multiplicações, subtrações, divisões, além de operações especificas
como matriz inversa ou transposta. Na tabela 2 são apresentadas essas
operações.

Função Descrição
A+B; A-B Soma ou subtração elemento a elemento de A e
B
A*B; A/B Produto ou divisão elemento a elemento de A e
B
A%*%B Produto matricial de A por B
B= t(A) Matriz transposta de A
B= solve(A) Matriz inversa de A
X= solve(A,b) Resolve o sistema linear Ax+b
det(A) Retorna o determinante de A
eigen(A) Retorna os autovalores e autovetores de A
sum(diag(A)) Calcula o traço da matriz A
Tabela 2: Operações dos tipos de objetos

1.5. Comandos básicos

1.5.1. Operadores e funções básicas do R

Como todo tipo de programação, é comum que tenhamos que atribuir


valores para as variáveis criadas antes de usá-las, na linguagem de
programação essa ação e conhecida como inicialização de variáveis. Entre
os operadores, além das atribuições de valor ás variáveis, existem valores
lógicos, indicação de função, entre outros. Na tabela 3 são mostrados
operadores do R.

Operadores Descrição
x <- 100 Atribuição de valor, x recebe o valor 100.
+,-,*,/ Adição, subtração, multiplicação e divisão.
^ Potenciação.
10%/%3 Arredonda o valor da divisão para um numero inteiro menor ou
igual da divisão, 10%/%3=3.
%% Fornece o resto da divisão.
x1: x2 Fornece valores de x1 ate x2, pulando uma unidade.
==, <, >, <=, Operações lógicas que são respectivamente: igual, menor, maior,
>=, != menor ou igual, maior ou igual e diferente.
& Operação lógica que significa “e”(verdade caso os dois sejam
verdade).
| Operação lógica que significa “ou” (verdade caso pelo menos
um seja verdade).
y~x Indica y em função de x.
; Pode ser usado para digitar mais de um comando na mesma
linha.
“” Delimita caracteres.
() Delimita argumentos de uma função.
[] Seleciona parte de um objeto.
{} Delimita uma função.

12
# Adiciona algum comentário, após # não ira interferir no
comando.
Tabela 3: Operadores do R

Além dos operadores, o R também tem funções básicas que servem como
comandos auxiliares, ajudando a manipular os objetos. Esses comandos são
vistos na tabela a seguir.

Função Descrição
ls() ou objects() Lista das variáveis criadas na sessão.
[Link]() Lista detalhada das variáveis criadas.
str(x) Mostra informações sobre x.
dir() Lista todos os arquivos na pasta de trabalho.
rm(A,...) Remove o(s) objeto(s) entre parênteses.
library([Link]) Ativa o pacote entre parênteses, na sessão em que for
usado, caso esteja instalado no computador, como por
exemplo, library(qcc).
class(x) Mostra que tipo de objeto é x.
factor(A) Transforma o objeto em fator, ou seja, divide em níveis.
edit() Edita o objeto abrindo outra janela.
Ctrl + L No teclado, ao pressionar limpa a tela.
length() Retorna o número de elementos do vetor.
function() Cria uma função específica.
Tabela 4: Funções básicas do R

1.5.2. Operações e funções matemáticas

Expressões aritméticas podem ser construídas através dos operadores


usuais e seguem as mesmas regras da matemática. A utilização de adição,
potenciação e outras operações são bem simples, como mostra o exemplo a
seguir.

> 6^3 #Potenciação


[1] 216
> x=3+5*9-(4/2) #Regra de procedência
> x[1] 46

Funções matemáticas simples já vêm implementadas no R, na tabela 5 são


listadas as principais funções matemáticas e suas descrições.

Função Descrição
abs(x) Valor absoluto de x.
log(x,y) Logaritmo de x com base y.
log(x) Logaritmo natural de x.
exp(x) Exponencial elevado a x.
sin(x), cos(x) e tan(x) Seno, cosseno e tangente de x.
round(x, digits = n) Arredonda x com n casas decimais.
ceiling(x), floor(x) Arredonda x para o maior valor e para o menor valor,
respectivamente.
choose(n, k) Combinação de n tomando k a k.
factorial(x) Fatorial de x.

13
sqrt(x) Raiz quadrada de x.
sum(x) Soma dos elementos do vetor x.
prod(x) Produto dos elementos do vetor x.
max(x) Seleciona o maior elemento do vetor x
min(x) Seleciona o menor elemento do vetor x
range(x) Retorna o maior e o menor elemento do vetor x
Tabela 5: Funções matemáticas do R

1.5.3. Função Ajuda no R

Um dos menus do software e o menu ajuda. Ao acessar o ícone é possível


ter acesso aos manuais do R em inglês, no formato pdf. Também é possível
tirar duvidas sobre determinada função, sobre algum termo e até mesmo
ver exemplos de alguma função. Em seguida são apresentados exemplos no
R.

> [Link]() #Ajuda pela internet


If nothing happens, you should open
‘[Link] yourself

> [Link]("package") #Pesquisa o termo entre aspas


> example(log) #Mostra exemplo da função

log> log(exp(3))
[1] 3

log> log10(1e7) # = 7
[1] 7

log> x <- 10^-(1+2*1:9)

log> cbind(x, log(1+x), log1p(x), exp(x)-1, expm1(x))


x
[1,] 1e-03 9.995003e-04 9.995003e-04 1.000500e-03 1.000500e-03
[2,] 1e-05 9.999950e-06 9.999950e-06 1.000005e-05 1.000005e-05
[3,] 1e-07 1.000000e-07 1.000000e-07 1.000000e-07 1.000000e-07
[4,] 1e-09 1.000000e-09 1.000000e-09 1.000000e-09 1.000000e-09
[5,] 1e-11 1.000000e-11 1.000000e-11 1.000000e-11 1.000000e-11
[6,] 1e-13 9.992007e-14 1.000000e-13 9.992007e-14 1.000000e-13
[7,] 1e-15 1.110223e-15 1.000000e-15 1.110223e-15 1.000000e-15
[8,] 1e-17 0.000000e+00 1.000000e-17 0.000000e+00 1.000000e-17
[9,] 1e-19 0.000000e+00 1.000000e-19 0.000000e+00 1.000000e-19

>demo(graphics) #Exibe funções contidas no pacote


> help(sqrt) #Fornece informações da função

1.6. Entrada de arquivos externos

14
No R é possível utilizar dados salvos sob a forma de planilhas, tabelas, etc. Mas
para isso deve-se fazer com que o R leia os arquivos, ou seja, fazer com que o
software reconheça as colunas separadas. As planilhas feitas no Excel e no
OpenOffice são salvas por padrão no tipo .xls e .ods, os quais não possuem
nenhum sinal de separação de suas colunas. Ao tentar importar para o R irá ser
exibido uma mensagem de erro, mas uma forma simples de se resolver esse
problema é salvar o arquivo com o formato .csv. Porém, antes de iniciar a
entrada de dados no R deve-se alterar a pasta de trabalho padrão em que o
arquivo de dados .csv será salvo. Para isso basta ir em Arquivo/Mudar dir... e
alterar o diretório em que será salvo o arquivo.

Ao abrir a página de alteração do diretório, escolha o diretório em que será


salvo o arquivo. Após isso, devemos dar o comando para que o R carregue o
arquivo .csv no console, com o seguinte comando:

> planilha <-[Link]("[Link]",header=T,sep=",",dec=".")

Onde: planilha é o objeto no qual será atribuído os dados lidos pelo R,


[Link] é a função que lê o arquivo do tipo .csv, header indicasse o arquivo
tem ou não o nome nas colunas, sep permite indicar o tipo de separador dos
dados do arquivo e o dec indica o caractere usado como separador de casas
decimais dos números reais.

Também é possível acessar um banco de dados disponível na internet, para isso


basta usar a seguinte sintaxe:

>[Link](“endereço”) #Endereço pode conter arquivo .txt

2. Estatística descritiva

2.1. Introdução

Após ter visto a maioria dos comandos básicos e as sintaxes do R para criação
de objetos e organização de dados, veremos agora, os comando para
manipulação da estatística descritiva no R. O objetivo da estatística descritiva é
organizar, apresentar e sintetizar os dados, sabendo isso veremos suas medidas.

2.2. Medidas de tendência central

São estatísticas que representam uma série de dados orientando quanto à


posição de sua distribuição em relação ao gráfico da curva de frequência, as
mais importantes são as medidas que tendem a se agrupar em torno de valores

15
centrais. Seriam essas medidas, a media aritmética, a mediana e a moda, as
quais serão apresentadas a seguir.

2.2.1. Média aritmética

A média, representada pela letra com uma barra em cima ( ), é a simples


soma de todos os valores do conjunto divididos pelo numero total de
elementos. A sintaxe para se calcular a média no R segue abaixo.

> x <- c(4,6,8,15,20)


>#Sintaxe da média: mean(dados)
> mean(x)
[1] 10.6

2.2.2. Mediana Md

A mediana é o elemento que divide o conjunto de dados em dois


subconjuntos de mesmo tamanho ou o mais próximo disto, sendo que o
conjunto de dados deve estar ordenado. Se n(numero de elementos do
conjunto) for impar sua mediana é o valor que esta no meio, se for par a
mediana será a media dos dois valores que estão no meio. No software o
comando para calcular a mediana é o seguinte.

> v1 <- c(1,3,4,5,1,0,0,6,6) #Número impar de elementos


> v2 <- c(4,2,6,8,9,5,2,6) #Número par de elementos
> #Sintaxe da mediana: median(dados)
> median(v1)
[1] 3
> median(v2)
[1] 5.5

2.2.3. Moda Mo

Moda é simplesmente o valor que mais se repete dentre todos os valores.


Para acharmos a moda podem-se usar as funções:
· table(x) – Esta função retorna todos os valores com suas respectivas
frequências, apresentando também o que mais se repetiu, ou seja, a
moda.
· subset(x) – Já esta, mostra apenas a moda com sua frequência.

> x <- c(1,2,3,3,3,3,4,5,5)


> #Sintaxe da moda: table(dados) ou
subset(table(dados), table(dados)==max(table(dados)))
> table(x)
x

16
12345
11412
> subset(table(x),table(x)==max(table(x)))
3
4

2.3. Medidas de localização

Essas medidas têm a mesma função, orientar quanto à distribuição em relação


ao gráfico da curva de frequência, só que nas medidas de localização são
procurados elementos em determinada parte do conjunto, independente de ser
centralizado ou não. Entre essas medidas estão os percentis e os quartis, os
quais estão descritos a seguir.

2.3.1. Percentil

Os percentis são medidas que dividem o conjunto de dados em 100 partes.


Escolhido o percentil que se quer calcular, seu significado será que pelo
menos x%(sendo x a posição do percentil) dos indivíduos do conjunto
possuem um valor menor ou igual ao percentil encontrado. Para se calcular
o percentil no R basta usar o seguinte comando.

> x<-c(20,30,40,50)
> #Sintaxe do Percentil: quantile(dados,c(valores dos percentis)
> quantile(x,0.20) #Percentil 20º
20%
26

> quantile(x,c(0.10,0.20,0.30)) #Perdcentil 10º, 20º, 30º


10% 20% 30%
23 26 29

2.3.2. Quartil

Os quartis são medidas que dividem o conjunto em 4 partes. Segue o


mesmo principio do percentil, só que existem apenas 3 quartis, Q1,Q2 e Q3
(25%, 50% e 75% respectivamente). No R sua sintaxe é a seguinte.

> x<-c(20,30,40,50)
> #Sintaxe do Quartil: summary(dados) ou
> quantile(dados)
> summary(x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
20.0 27.5 35.0 35.0 42.5 50.0
> quantile(x)
0% 25% 50% 75% 100%

17
20.0 27.5 35.0 42.5 50.0

2.4. Medidas de variabilidade

Além das medidas de posição, existem as medidas de variabilidade, que têm a


característica de avaliar a dispersão dos dados em torno de valores centrais.
Nessas medidas temos a variância, o desvio padrão e o coeficiente de variação.

2.4.1. Variância

A variância é a medida de variabilidade mais utilizada e tem o objetivo de


identificar como todos os dados estão distantes da media aritmética. Ela
pode ser calculada a partir da seguinte fórmula, caso seja uma amostra:

∑ (
− ̅)
=
− 1
Como o R sempre interpreta o conjunto de dados com uma amostra será
dessa forma que a variância irá ser calculada. Sua sintaxe segue a seguinte
regra.

> x<-c(1,2,3,4,5)
> #Sintaxe da variância: var(dados)
> var(x)
[1] 2.5

2.4.2. Desvio padrão

O desvio padrão tem o objetivo de verificar a distância dos dados em


relação à média aritmética. Para ser calculado basta fazer a raiz quadrada
da variância:
∑ − ̅
=
− 1
No R seu comando segue a regra a seguir.

> x<-c(1,2,3,4,5)
> #Sintaxe do Desvio padrão: sd(dados)
> sd(x)
[1] 1.581139

2.4.3. Coeficiente de variação

O coeficiente de variação busca identificar o “tamanho” do desvio padrão

18
com relação à média aritmética. Seu calculo é dado por:
= ∗ 100%
̅

Já no R, será calculado da seguinte forma:

> x<-c(1,2,3,4,5)
> #Sintaxe do Coeficiente de variação: 100*sd(dados)/mean(dados)
> 100*sd(x)/mean(x)
[1] 52.70463 #Cerca de 52%

2.4.4. Organização de dados

Com todas as medidas de tendência central, medidas de localização e


medidas de variação, são necessários à organização desses dados. Para essa
organização, a forma mais prática são as tabelas. A criação de uma simples
tabela de frequência utiliza diversos passos já demonstrados neste tutorial,
e para exemplificar iremos criar uma tabela de frequência do nível de
escolaridade de certa empresa. Com os dados fornecidos, basta fazer um
vetor e logo após usar a função table() vista anteriormente.

>[Link]<c("fundamental","fundamental","fundamental","medio","medi
o","medio","medio","superior","superior","medio","medio","medio","me
dio")

> table([Link])
[Link]
fundamental medio superior
3 8 2

Uma tabela também pode ser criada pela edição de uma matriz
preenchendo com seus valores através da função edit(). Além de matrizes,
o data-frame pode ser utilizado para tabelas maiores, utilizando em colunas
diferentes tipos de dados diferentes, podendo depois dividir cada variável
em levels através da função factor().

Observação: No R existe uma função que serve de resumo. Ao utiliza-la


serão retornados valores de mínimo, 1º quartil, mediana, media, 3º quartil e
máximo, respectivamente. Essa função é a summary(), a qual já foi
demostrada na seção 2.3.2, para o calculo do quartil. Abaixo segue um
exemplo no R.

> x <- c(1,5,7,15,19,23,37,40)


> #Sintaxe da função: summary(dados)
> summary(x)
Min. 1st Qu. Median Mean 3rd Qu. Max.
1.00 6.50 17.00 18.38 26.50 40.00

19
3. Probabilidade

3.1. Introdução

Outra grande parte da estatística é a probabilidade, que tem o objetivo de


mensurar a chance de um determinado evento ocorrer num experimento
aleatório. Um experimento pode ser feito da mesma forma, mas apresentar
resultados diferentes, por esse motivo as distribuições de probabilidade buscam
modelar e analisar os resultados experimentais, por conta de suas variações.

No estudo da probabilidade existem conceitos como:


· Experimento aleatório – experimento que pode apresentar diferentes
resultados mesmo quando feito da mesma maneira
· Espaço amostral – conjunto dos possíveis resultados do experimento
· Eventos – subconjunto do espaço amostral

3.2. Calculando a probabilidade

Dentro de um espaço amostral serão encontrados os eventos de interesse do


experimento, dessa forma o cálculo da probabilidade será da seguinte maneira:
( )
=
( )
Onde essa será a probabilidade do evento A ocorrer dentro do espaço amostral
(Ω). No R, a probabilidade é calculada normalmente, seguindo as regras
matemáticas e aritméticas. Abaixo serão apresentados alguns exemplos no R.

> #Probabilidade de cair o número 2 em um dado


>N=6 #Espaço amostral
> n=1 #Evento, probabilidade de cair o número 2
> p = n/N #Probabilidade = Evento/Espaço amostral
>p
[1] 0.1666667

> #Probabilidade de cair o número 2 ou 5


> n1=1 #Evento 1, probabilidade de cair o número 2
> n2=1 #Evento 2, probabilidade de cair o número 5
> p= (n1+n2)/N
>p
[1] 0.3333333

4. Variáveis aleatórias

20
4.1. Introdução

Variável aleatória é uma função que associa um evento do espaço amostral a um


numero, ou seja, transforma em um número real cada resultado do experimento
aleatório.

No R podemos achar a função densidade, que calcula P(X=x), através da letra


“d” escrita na frente da distribuição (dbinom, dpois, dnorm ...); a função
distribuição, que calcula a distribuição acumulada P(X<=x), através da letra “p”
escrita na frente da distribuição (pbonom, ppois, pnorm ...) e a função
probabilidade, que calcula o valor de a tal que P(X<=a) = prob, através da letra
“q” colocada na frente da distribuição. Além dessas possibilidades podemos ter
um gerador aleatório baseado na distribuição definida colocando a letra “r”
escrita na frente da distribuição (rnorm, rbinom, rpois ...). Existem dois tipos de
variáveis aleatórias, as discretas e as contínuas.

4.2. Variáveis aleatórias discretas

Em um exemplo de uma seleção de duas peças para identificar se a qualidade é


boa ou defeituosa, teremos o seguinte espaço amostral:
Ω= {BB, BD, DB, DD}.
Podemos neste experimento estarmos interessados em saber o número de peças
boas, para isso representaremos com uma variável aleatória, a qual pode
assumir os valores 0, 1 e 2. Neste caso a variável escolhida será uma variável
aleatória discreta, pois ela representa uma medida com uma faixa finita de
valores ou infinita contável, ou seja, tudo que estiver relacionado com a
contagem de elementos.

As VAD (variáveis aleatórias discretas) apresentam alguns modelos de


probabilidades, que serão apresentados a seguir.

4.2.1. Distribuição Binomial

Um experimento binomial diz respeito a um experimento aleatório que


consiste em repetidas tentativas que apresentam apenas dois resultados
possíveis (sucesso ou fracasso). No R, sua sintaxe será da seguinte forma.

> #Sintaxe da distribuição binomial:


dbinom(x,n,p), pbinom(x,n,p), qbinom(prob,n,p), rbinom(obs,n,p)
Onde:
x – vetor contendo número de sucessos em n ensaios
prob – vetor contendo as probabilidades em n ensaios
n – número de ensaios
obs – número de observações
p – probabilidade de sucesso

> dbinom(2,10,0.5)
[1] 0.04394531

21
Para ilustrar a distribuição iremos resolver o seguinte exemplo.

Ex). Na manufatura de certo artigo, é sabido que um entre dez artigos é


defeituoso. Qual a probabilidade que uma amostra casual de tamanho 4
contenha: a) Nenhum defeituoso b) Exatamente dois defeituosos c) Não
mais que dois defeituosos.

a) > dbinom (0, 4, 0.10)


[1] 0.6561
b) > dbinom (2, 4, 0.10)
[1] 0.0486
c) > pbinom (2, 4, 0.10)
[1] 0.9963

4.2.2. Distribuição de Poisson

A distribuição de Poisson permite evidenciar a probabilidade de


experimentos em que o número de amostras pode aumentar no tempo e a
probabilidade de sucesso diminuir, nesse caso X indica o número de
ocorrências (ou observações) num intervalo contínuo. Alguns exemplos da
distribuição de Poisson podem ser observados em chamadas telefônicas por
unidade de tempo, defeitos por unidade de tempo, acidentes por unidade de
tempo entre outros. No R, sua sintaxe será da seguinte forma.

> #Sintaxe da distribuição de Poisson:


dpois(x,lambda),ppois(x,lambda),qpois(x,lambda), rpois(obs,lamda)
Onde:
x – vetor contendo número de ocorrências
obs – número de observação
lambda – número médio de ocorrências

> dpois(3,10)
[1] 0.007566655

Para ilustrar a distribuição iremos resolver o seguinte exemplo.

Ex) A inspeção de qualidade afirma que os rolos de fita isolante apresentam


em média, uma emenda a cada 50 metros, calcule a probabilidade de que
(a) num rolo de 50 m você encontre 2 emendas e (b) num rolo de 125 m
você encontre no máximo duas emendas.

(a) λ= 1 emenda a cada 50 metros


> dpois(2,1)
[1] 0.1839397

(b) P(X≤ 2) = P(X=2) + P(X=1) + P(X=0)

22
λ= 2.5
> ppois(2,2.5)
[1] 0.5438131

4.2.3. Distribuição Hipergeométrica

A distribuição hipergeométrica identifica o número de sucessos nas


repetições, onde se tem uma população com K sucessos e N-K fracassos.
Dessa população é retirada uma amostra n. No R, sua sintaxe será da
seguinte forma.

> #Sintaxe da distribuição hipergeométrica:


dhyper(x,m,n,k),phyper(q,m,n,k),qhyper(p,m,n,k), rhyper(obs,m,n,k)
Onde:
x – vetor contendo o número de elementos com característica A extraídos
de uma urna com elementos A e B
obs – número de observações
m – número de elementos com característica A
n – número de elementos com característica B
k – número de elementos da amostra retirada

> dhyper(0,200,100,4)
[1] 0.01185408

Para ilustrar a distribuição iremos resolver o seguinte exemplo.

Ex) Dos 16 caminhões de entrega de uma loja de departamentos, cinco


emitem excesso de poluentes. Selecionados aleatoriamente oito dos 16
caminhões: a) probabilidade dessa amostra incluir no máximo 2 caminhões
que emitem excesso de poluentes? B) probabilidade dessa amostra incluir 4
ou 5 caminhões que emitem excesso de poluentes?

a) > phyper (2, 5, 11, 8)


[1] 0.5
b) P(X=4)+P(X=5)
> dhyper (4, 5, 11, 8)
[1] 0.1282051
> dhyper (5, 5, 11, 8)
[1] 0.01282051
> sum(dhyper (5, 5, 11, 8),dhyper (4, 5, 11, 8))
[1] 0.1410256

4.2.4. Distribuição Geométrica

A distribuição geométrica tem o objetivo de identificar a probabilidade do

23
1º sucesso ocorrer na x-esima tentativa. No R, sua sintaxe será da seguinte
forma.

> #Sintaxe da distribuição geométrica:


dgeom(x,prob), pgeom(q,prob), qgeom(p,prob), rgeom(obs,prob)
Onde:
x – vetor contendo número de falhas ocorridas em uma sequência de
Bernolli
prob – probabilidade de sucesso em cada tentativa
obs – número de observações
q – vetor contendo quantis
p – vetor contendo as probabilidades

> dgeom(3,0.5)
[1] 0.0625

Para ilustrar a distribuição iremos resolver o seguinte exemplo.

Ex) Um banco de sangue necessita de sangue do tipo O negativo. Suponha


que a probabilidade de uma pessoa ter esse sangue é 0,10. Doadores
permanentes chegam ao hemocentro para fazer doações rotineiras. Calcule
as probabilidades de que o primeiro doador com sangue do tipo O negativo
seja: a) o segundo a chegar; b) o sétimo.

a) > dgeom (1, 0.10)


[1] 0.09
b) > dgeom (6, 0.10)
[1] 0.0531441

4.2.5. Distribuição Uniforme discreta

Na distribuição uniforme discreta considera-se o caso mais simples de


VAD, no qual cada valor possui a mesma probabilidade. Não há entre as
funções básicas do R uma função específica para a distribuição uniforme
discreta com opções de prefixos d, p e q, provavelmente devido a sua
simplicidade. Como cada elemento tem a mesma probabilidade, basta
dividir 1 pelo numero total de elementos.

4.3. Variáveis aleatórias contínuas

Uma função X, definida sobre o espaço amostral e assumindo valores num


intervalo de números reais, é dita uma variável aleatória contínua. Sua
característica principal é que, sendo uma mensuração, o seu valor pode ser
representado como pertencendo a um intervalo de números reais. Como
exemplo, têm-se a corrente elétrica, comprimento, pressão entre outros.

24
As VAC (variáveis aleatórias contínuas) apresentam alguns modelos de
probabilidades, que serão apresentados a seguir.

4.3.1. Distribuição Uniforme

Uma variável de uma distribuição uniforme contínua tem sua função


densidade de probabilidade (f.d.p.) dada por:
1
= , ≤ ≤

0, á
No R, sua sintaxe será da seguinte forma.

> #Sintaxe da distribuição uniforme:


dunif(x, min, max), punif(q, min, max), qunif(p, min, max),
runif(obs,min,max)
Onde:
x – vetor contendo quantis
obs – número de observações
min – limite inferior da distribuição
max – limite superior da distribuição

> dunif(6,2,10)
[1] 0.125
> dunif(6,min=2,max=10)
[1] 0.125

Para ilustrar a distribuição iremos resolver o seguinte exemplo.

Ex) Escolhe-se aleatoriamente um ponto no intervalo [0,10]. Suponha que


desejamos encontrar a probabilidade de que o ponto esteja entre 3/2 e 7/2.

P( ≤ ≤ ) = P( ≤ ) – P( ≤ )
> punif(7/2,min=0,max=10)
[1] 0.35
> P1<-punif(7/2,min=0,max=10)
> P1
[1] 0.35
> P2<-punif(3/2,min=0,max=10)
> P2
[1] 0.15
> P1-P2
[1] 0.2

4.3.2. Distribuição Exponencial

A distribuição exponencial é muito utilizada em muitas situações, pois ela

25
se ajusta a dados relacionados a tempo de vida, possuindo um parâmetro λ
o qual é uma constante real positiva. No R, sua sintaxe será da seguinte
forma.

> #Sintaxe da distribuição exponencial:


dexp(x,rate), pexp(q,rate), qexp(p,rate), rexp(obs,rate)
Onde:
x – vetor contendo os quantis
obs – número de observações
rate – parâmetro da distribuição

> dexp(10,0.3)
[1] 0.01493612

Para ilustrar a distribuição iremos resolver o seguinte exemplo.

Ex) Sabe-se que um componente eletrônico tem vida útil representada por
uma densidade experimental, com taxa de falha de 10 falhas por hora
(isto é λ=10 ). O tempo médio de falha é 10 . Suponha que desejamos
determinar a probabilidade de um componente falhar antes do tempo de
vida média.

> x<-10^5
> rate<-10^(-5)
> pexp(x,rate)
[1] 0.6321206
> sum(dexp(0:x,rate))
[1] 0.6321274

4.3.3. Distribuição Normal

A distribuição normal é a principal distribuição de probabilidade e tem sua


importância porque muitas técnicas de inferência estatística pressupõe que
os dados seguem uma determinação normal. Essa aproximação para a
normal é explicada pelo teorema central do limite que diz que, toda a soma
de variáveis aleatórias independentes de média finita e variância limitada é
aproximadamente Normal, desde que o número de termos da soma seja
suficientemente grande. Isso significa que um experimento tenderá a uma
distribuição normal na medida em que o numero de réplicas se torne
grande. No R, sua sintaxe será da seguinte forma.

> #Sintaxe da distribuição normal:


dnorm(x, mean, sd), pnorm(q, mean, sd), qnorm(p, mean, sd),
rnorm(obs,mean,sd)
Onde:
x – vetor contendo quantis
mean – média da distribuição

26
sd – desvio padrão da distribuição
obs – número de observações

> dnorm(6,3,2.3)
[1] 0.07408744

Para ilustrar a distribuição iremos resolver o seguinte exemplo.

Ex) A força de tensão de uma ponte metálica é normalmente distribuída


com média de 40 lb e desvio padrão de 8 lb. Se 50000 pontes são
produzidas, (a) quantas não atenderão à especificação limite máxima de 34
lb? E quantas terão força de tensão superior a 48 lb?

(a) P( ≤ 34)
> pnorm(34,40,8)
[1] 0.2266274
> x<-pnorm(34,40,8)
> 50000*x
[1] 11331.37
11331 pontes

(b) P( > 48)


> 1-pnorm(48,40,8)
[1] 0.1586553
> y<-(1-pnorm(48,40,8))
> 50000*y
[1] 7932.763
7933 pontes

4.4. Outras distribuições no R

Além das distribuições mais comuns e usuais, detalhadas anteriormente neste


tutorial, existem outras que podem ser conferidas no R. Também é possível ter a
função densidade, a função distribuição, a função probabilidade e o gerador de
números aleatórios dessas distribuições, colocando as iniciais na frente das
funções como dito anteriormente. A tabela a seguir apresenta essas
distribuições.

Distribuição Sintaxe
Beta dbeta(n, shape1, shape2)
Binomial negativa dnbinom(n, size, prob)
Couchy dcauchy(n, location, scale)
Estatística de Wilcoxon’s dwilcox(nn, m, n, n)
Fischer-Snedecor(F) df(n, df1, df2)
Gamma dgamma(n, shape, scale)
Logística dlogis(n, location, scale)
Log-normal dlnorm(n, meanlog, sdlog)
Qui-quadrado dchisq(n, df)
T-Student dt(n, df)

27
Weibull dweibull(n, shape, scale)
Tabela 6: Outras distribuições disponíveis no R

5. Inferência estatística

5.1. Introdução

O objetivo da estatística é de conhecer populações por meio das informações


amostrais. As populações são caracterizadas por medidas numéricas descritivas,
denominadas parâmetros, dessa forma a estatística diz respeito à realização de
inferência sobre esses parâmetros populacionais, sendo eles média, desvio
padrão e proporção. E assim surge uma grande vertente da estatística, que é a
inferência estatística.

Na inferência existem dois métodos, os testes de hipóteses e a estimação, mas


também se devem levar em conta os intervalos de confiança. Nesta seção
veremos todos esses recursos ligados ao software R.

5.2. Intervalo de confiança

O intervalo de confiança nada mais é do que o intervalo estimado de um


parâmetro estatístico, ou seja, o intervalo de determinada amostra que irá
abranger o verdadeiro valor do parâmetro. No R não existe uma função pronta
para se obter o intervalo de confiança, dessa forma iremos fazer passo a passo e
no final criar uma função. Na maioria das vezes o intervalo de confiança é
obtido através das funções de teste de hipóteses, que serão apresentados no
próximo tópico, porem o método que iremos utilizar para criação das funções
pode ser usado a qualquer momento. Para exemplificar, será apresentado a
seguir um exemplo que pede o intervalo de confiança de uma distribuição
normal com desvio padrão desconhecido.

Ex) O tempo de reação de um novo medicamento pode ser considerado como


tendo distribuição Normal e deseja-se fazer inferência sobre a média que é
desconhecida, obtendo um intervalo de confiança. Vinte pacientes foram
sorteados e tiveram seu tempo de reação anotado. Os dados foram os seguintes
(em minutos):
2.9, 3.4, 3.5, 4.1, 4.6, 4.7, 4.5, 3.8, 5.3, 4.9,
4.8, 5.7, 5.8, 5.0, 3.4, 5.9, 6.3, 4.6, 5.5, 6.2

Com todas as funções já mostradas no tutorial é possível criar uma nova


função, recurso que será muito utilizado no R. Nesse caso, o intervalo de
confiança será calculado da seguinte maneira:

( ̅− ( )
, + ( )
)

Com todas essas informações podemos criar uma função que generalize o

28
calculo do intervalo de confiança da seguinte forma.

> #Declaramos o vetor tempo com os dados


> tempo <- c(2.9, 3.4, 3.5, 4.1, 4.6, 4.7, 4.5, 3.8, 5.3, 4.9, 4.8, 5.7, 5.8, 5, 3.4,
5.9, 6.3, 4.6, 5.5, 6.2)
> #Criamos a função com 95% de confiança
> IC<-function(x, conf = 0.95) {
+ n <- length(x) #Tamanho da amostra
+ media <- mean(x) #Média da amostra
+ variancia <- var(x) #Variância da amostra
+ quantis <- qt(c((1 - conf)/2, 1 - (1 - conf)/2), df = n - 1)
+ ic <- media + quantis * sqrt(variancia/n)
+ return(ic)
+}
> #Agora podemos sempre usar a função IC(dados) que teremos o intervalo de
confiança para a media quando o desvio padrão é desconhecido.
> IC(tempo)
[1] 4.278843 5.211157

Esse procedimento pode ser feito para qualquer intervalo de confiança ou até
mesmo para alguma função que o usuário deseje implementar.

5.3. Teste de hipóteses

Muitos problemas, especialmente na área de engenharia, requerem que seja


decidido entre aceitar ou rejeitar uma hipótese sobre certo parâmetro. O
procedimento de tomada de decisão sobre a hipótese é chamado de teste de
hipóteses. Seu objetivo é testar uma afirmação feita sobre um parâmetro
populacional, e existem dois tipos de hipóteses estatísticas: hipótese nula ( ) e
hipótese alternativa ( ).
Para concluirmos algo sobre o teste feito no R, compararemos o p-value com a
significância, obtendo a seguinte relação:
· P-value > α: Não rejeita
· Pvalue < α: Rejeita

A partir de agora apresentaremos detalhadamente os testes de hipóteses que


podem ser feitos no R.

5.3.1. Teste de hipótese para média

Podemos realizar teste de hipótese para média de uma amostra e também


de duas amostras. Existem diversas situações para os testes, entre elas
quando o desvio padrão for conhecido, desvio padrão desconhecido,
variância conhecida, variância desconhecida, porém igual, variância
desconhecida, porém diferente e o teste pareado por média. Dentre todos os
tipos de testes, sendo uma ou duas amostra sempre iremos procurar saber
se a média é igual, maior ou menor que certo valor.

A seguir será apresentada a sintaxe do teste de hipótese para média no R.

29
> #Sintaxe do teste de hipótese para média
> [Link](Amostra,alternative="hipotese", mu=media, paired, [Link])
Onde:
Amostra – vetor contendo a amostra que se quer testar.
alternative – opção que podemos escolher.
· greater (teste unilateral de menor/igual a média).
· less (teste unilateral de maior/igual a média).
· [Link] (teste bilateral de igual a média).
mu – indica o valor da média.
paired – realiza o teste t pareado caso TRUE, e não realiza caso FALSE.
[Link] – confiança do teste. (1- α)

> #No caso de duas amostras, a sintaxe do teste será a seguinte:


> [Link](Amostra1, Amostra2, alternative, mu, [Link], [Link])
Onde:
Amostra2 – vetor contendo amostra 2 para comparação da média com amostra
1.
alternative – opção que podemos escolher.
· greater (teste unilateral de : µ1≤µ2).
· less (teste unilateral de : µ1≥µ2).
· [Link] (teste bilateral de : µ1=µ2).
mu – diferença entre as médias.
[Link] – caso TRUE indica variância populacional igual nas duas amostra,
caso FALSE serão diferentes.

> [Link](c(1.3,2.5,6),alternative="less",mu=3,[Link]=.99)

One Sample t-test

data: c(1.3, 2.5, 6)


t = 0.1891, df = 2, p-value = 0.5663
alternative hypothesis: true mean is less than 3
99 percent confidence interval:
-Inf 13.0859
sample estimates:
mean of x
3.266667

A seguir serão apresentados alguns exercícios que ilustram melhor a


utilização do teste de hipótese para média no R, em diversas situações.

Ex) Deseja-se investigar se uma certa moléstia que ataca o rim altera o
consumo de oxigênio desse órgão. Para indivíduos sadios, admite-se que
esse consumo tem distribuição normal com média de 12 /min. Os
valores medidos em cinco pacientes com moléstia foram: 14,4; 12,9; 15;
13,7 e 13,5. Qual seria a conclusão, ao nível de 5% de significância?

Nesse exercício, para sabermos se a doença ataca o rim devemos

30
comparar as médias de consumo de oxigênio, ou seja, saber se a média
será igual ou diferente de 12 /min.

Para isso, faremos um teste bilateral onde : µ=12 /min. No R,


faremos o [Link], com a amostra dada no problema e com os outros dados
fornecidos.

> amostra<-c(14.4,12.9,15,13.7,13.5)
> [Link](amostra,alternative="[Link]",mu=12,[Link]=0.95)

One Sample t-test

data: amostra
t = 5.2099, df = 4, p-value = 0.006472
alternative hypothesis: true mean is not equal to 12
95 percent confidence interval:
12.88745 14.91255
sample estimates:
mean of x
13.9
> #No teste vemos o intervalo de confiança (12.88745 à 14.91255) que
foi calculado anteriormente através de uma função feita no R, também
pode-se ver a média da amostra, o valor do t de student e o p-value, que
se for maior que α aceita , senão ele rejeita .

Como resposta, vemos que a hipótese foi rejeitada (p-value < α então
a hipotese alternativa sera verdadeira “alternative hypothesis: true mean
is not equal to 12”), dessa forma podemos afirmar com 5% de
significância que o consumo de oxigênio causado pela moléstia que ataca
o rim é diferente de 12 /min.

Ex) Dois catalisadores estão sendo analisados para determinar como eles
afetam o rendimento médio de um processo químico. Especificamente, o
catalisador 1 está corretamente em uso, mas o catalisador 2 é aceitável.
Uma vez que o catalisador 2 é mais barato, ele deve ser adotado, desde que
ele não mude o rendimento do processo. Um teste é feito em uma planta
piloto, resultando nos dados mostrados na tabela abaixo. Há alguma
diferença entre os rendimentos médios? Use α = 0.05 e considere
variâncias iguais.

Número de observações Catalisador 1 Catalisador 2


1 91,50 89,19
2 94,18 90,95
3 92,18 90,46
4 95,39 93,21
5 91,79 97,19
6 89,07 97,04
7 94,72 91,07
8 89,21 92,75

31
Nesse exercício devemos verificar se há diferença entre as médias de
rendimento do catalisador 1 e catalisador 2. O teste a ser feito é com duas
amostras, para saber se suas médias são iguais ou diferentes.

> catalisador1 <-c(91.50, 94.18, 92.18, 95.39,


+ 91.79,89.07,94.72,89.21)
> catalisador2 <-c(89.19, 90.95 ,90.46, 93.21,
+ 97.19,97.04,91.07,92.75)
> [Link](catalisador1,catalisador2,alternative="[Link]",mu=0)

Welch Two Sample t-test


data: catalisador1 and catalisador2
t = -0.3536, df = 13.353, p-value = 0.7292
alternative hypothesis: true difference in means isn’t equal to 0
95 percent confidence interval:
-3.387118 2.432118
sample estimates:
mean of x mean of y
92.2550 92.7325

Conforme o resultado do teste, percebemos que o p-value é menor que α,


ou seja, iremos rejeitar . Como conclusão, podemos afirmar que a
diferença entre as médias não é igual a 0, µ1≠µ2.

Ex) Um grupo de 10 pessoas é submetido a um tipo de dieta por 10 dias,


estando o peso antes do inicio e no final da dieta marcados na tabela
abaixo. Ao nível de 5% podemos concluir que houve diminuição do peso
médio pela aplicação da dieta?

Pessoas A B C D E F G H I J
Antes 120 104 93 87 85 98 102 106 88 90
Depois 116 102 90 83 86 97 98 108 82 85

Para esse caso, iremos fazer um teste pareado por média, com os dados da
amostra de antes e a amostra de depois.

> antes <- c(120,104,93,87,85,98,102,106,88,90)


> depois <- c(116,102,90,83,86,97,98,108,82,85)
> [Link](antes,depois,alternative="greater",mu=0,paired=TRUE,
[Link]=0.95)

Paired t-test

data: antes and depois


t = 3.1738, df = 9, p-value = 0.005649
alternative hypothesis: true difference in means is greater than 0
95 percent confidence interval:
1.098289 Inf
sample estimates:
mean of the differences
2.6

32
Ao marcar paired=TRUE, temos o teste pareado por média o qual
concluiu que rejeita : (μ − μ ≤ 0). Com um α de 5%
podemos concluir que o peso médio diminuiu com a dieta.

5.3.2. Teste de hipótese para proporção

Nos testes de hipóteses da proporção iremos sempre comparar certa


proporção com um valor estudado, verificando se a proporção é maior,
menor ou igual ao valor. Também será possível a comparação de duas
proporções, sendo iguais, diferentes ou uma maior que a outra.

A seguir será apresentada a sintaxe do teste de hipótese para proporção no


R.

> #Sintaxe do teste de hipótese para proporção


> [Link](x, n, p, alternative="hipotese", correct, [Link])
Onde:
x – vetor contendo o número de sucessos da amostra.
n – vetor contendo o número de realizações da amostra.
p – vetor contendo as probabilidades de sucesso.
alternative – opção que podemos escolher.
· greater (teste unilateral de menor/igual a proporção p).
· less (teste unilateral de maior/igual a proporção p).
· [Link] (teste bilateral de igual a proporção p).
correct – caso TRUE indica que a correção de continuidade de Yates será
aplicada, se for FALSE não aplica a correção.
[Link] - confiança do teste. (1- α)

> #No caso de duas amostras, a sintaxe do teste será a seguinte:


> [Link](X<-c(x1,x2),Y<-c(n1,n2),alternative="hipotese",[Link])
Onde:
X – vetor com os sucessos x1(população 1) e x2(população 2).
Y – vetor com os tamanhos n1(população 1) e n2(população 2).
alternative – opção que podemos escolher.
· greater (teste unilateral de : p1≤p2).
· less (teste unilateral de : p1≥p2).
· [Link] (teste bilateral de : p1=p2).
[Link] - confiança do teste. (1- α)

> [Link](6,50,0.4,alternative="[Link]",[Link]=.95)

1-sample proportions test with continuity correction

data: 6 out of 50, null probability 0.4


X-squared = 15.1875, df = 1, p-value = 9.735e-05
alternative hypothesis: true p is not equal to 0.4
95 percent confidence interval:
0.04973929 0.25002713
sample estimates:
p

33
0.12

A seguir serão apresentados alguns exercícios que ilustram melhor a


utilização do teste de hipótese para proporção no R, em diversas situações.

Ex) Sabe-se por experiência que 5% da produção de um determinado artigo


é defeituosa. Um novo empregado é contratado, ele produz 600 peças do
artigo com 82 defeituosas. Ao nível de 10%, verifique se o novo
empregado produz peças com mais índices de defeitos que o existente.

Nesse exercício, consideraremos os defeitos como sendo os sucessos e assim


iremos verificar se a proporção de defeitos do novo funcionário é maior que
5%, ou seja, testaremos se : p ≤ 0.05.

> x<-82 #Número de artigos defeituosos do funcionário


> n<-600 #Tamanho da amostra do funcionário
> p<-0.05 #Proporção a ser testada
>
> [Link](x,n,p,alternative="greater",[Link]=0.90)

1-sample proportions test with continuity correction

data: x out of n, null probability p


X-squared = 93.0614, df = 1, p-value < 2.2e-16
alternative hypothesis: true p is greater than 0.05
90 percent confidence interval:
0.1188992 1.0000000
sample estimates:
p
0.1366667

Conforme o resultado do teste (verdadeiro pra a hipótese alternativa: “true p


is greater than 0.05”- A proporção é maior que 0.05) iremos rejeitar , pois
o p-value < α. Com um α=10%, podemos afirmar que o novo empregado
produz um percentual maior de peças defeituosas.

Ex) Dois tipos diferentes de solução de polimento estão sendo avaliados


para possível uso em uma operação de polimentos na fabricação de lentes
intraoculares usadas no olho humano depois de uma operação de catarata.
Trezentas lentes foram polidas usando a primeira solução de polimento e,
desse número, 253 não tiveram defeitos induzidos pelo polimento. Outras
300 lentes foram polidas, usando a segunda solução de polimento, sendo
196 lentes consideradas satisfatórias. Há qualquer razão para acreditar que
as duas soluções de polimento diferem? Use α=0,01.

Neste problema temos duas amostras, com seus sucessos e tamanhos. Com
isso iremos fazer um teste para verificar se as suas proporções são iguais, ou
seja, : p1=p2.

34
> [Link](X<-c(253,196),Y<-c(300,300),alt="[Link]",[Link]=(1-
0.01))

2-sample test for equality of proportions with continuity correction

data: X <- c(253, 196) out of Y <- c(300, 300)


X-squared = 27.7526, df = 1, p-value = 1.379e-07
alternative hypothesis: [Link]
99 percent confidence interval:
0.09760961 0.28239039
sample estimates:
prop 1 prop 2
0.8433333 0.6533333

De acordo com o resultado do teste, como já foi dito anteriormente, o p-


value é menor que o valor da significância (1.379e-07 < 0,01), então iremos
rejeitar a hipótese nula ( ), confirmando a afirmação que os dois fluidos de
polimento sejam diferentes.

5.3.3. Teste de hipótese para variância

No teste de hipótese para variância iremos comparar duas variâncias,


procurando sempre saber se elas serão iguais, diferentes ou uma maior que
a outra. Para o teste de apenas uma variância é necessário escrever uma
função própria, como já foi mostrado anteriormente na seção de intervalo
de confiança.

A seguir será apresentada a sintaxe do teste de hipótese para variância no R

> #Sintaxe do teste de hipótese para variância


> [Link](x, y, ratio=1, alternative="hipotese", [Link])
Onde:
x e y – vetores numéricos das populações estudadas.
ratio – razão das variâncias, que por padrão é 1.
alternative – opção que podemos escolher.
· greater (teste unilateral de : ≤ ).
· less (teste unilateral de : ≥ ).
· [Link] (teste bilateral de : = ).
[Link] - confiança do teste. (1- α)

> x<-c(40,66,58,45)
> y<-c(30,31,32,36)
> [Link](x,y,ratio=1,alternative="[Link]",[Link]=0.95)

F test to compare two variances

data: x and y
F = 20.4699, num df = 3, denom df = 3, p-value = 0.03365
alternative hypothesis: true ratio of variances is not equal to 1
95 percent confidence interval:

35
1.32584 316.03820
sample estimates:
ratio of variances
20.46988

A seguir serão apresentados alguns exercícios que ilustram melhor a


utilização do teste de hipótese para proporção no R.

Ex) Uma companhia fabrica propulsores para uso em motores de turbinas


de avião. Uma das operações envolve esmerilhar o acabamento de uma
superfície particular para um componente de liga de titânio. Dois processos
diferentes para esmerilhar podem ser usados, podendo produzir peças com
iguais rugosidades médias na superfície. Uma amostra aleatória de n1=11
peças, proveniente de primeiro processo, resulta em um desvio padrão de
=5,1 micro polegadas. Uma amostra aleatória de n2=16 peças,
proveniente do segundo processo, resulta em um desvio padrão de =4,7
micro polegadas. Verifique se a razão entre as duas variâncias é diferente
de 1, com um nível de confiança de 90%. Considere que os dois processos
sejam diferentes e a rugosidade na superfície seja normalmente distribuída.

Neste exercício queremos saber se a razão das variâncias ( ⁄ ) é igual ou


diferente de 1. Portanto iremos fazer o teste bilateral onde : = , ou
seja, = 1.
Para as amostras criaremos vetores com o gerador aleatório da distribuição
normal, e por fim aplicaremos o [Link]().

> x<- rnorm(11,sd=5.1)


> y<- rnorm(16,sd=4.7)
>x
[1] -6.9072212 -3.7303429 -0.9285484 4.0050718 -7.6785807 -
10.0466536
[7] 3.3121653 -0.7892831 -6.0424881 4.7401754 2.7716472
>y
[1] -8.9600087 1.0342666 1.8725792 -1.1421321 1.2465933 -2.9539701
[7] -1.1059167 -6.9560897 -3.2352230 2.8054007 -5.0242855 -0.2036630
[13] 3.4648888 0.1897259 -1.3359860 -2.2774635
> [Link](x,y,ratio=1,alternative="[Link]",[Link]=0.90)

F test to compare two variances

data: x and y
F = 2.3368, num df = 10, denom df = 15, p-value = 0.1338
alternative hypothesis: true ratio of variances is not equal to 1
90 percent confidence interval:
0.9186542 6.6482285
sample estimates:
ratio of variances
2.336798

Dessa forma concluímos que a razão entre as variâncias será igual a um, pois
o p-value é maior que a nossa significância (p-value > α), portanto não

36
rejeitaremos . E com um α=10%, podemos afirmar que as variâncias serão
iguais e consequentemente que sua razão é 1.

5.3.4. Outros tipos de testes

Além dos testes de hipóteses para a média, proporção e variância


mostrados anteriormente existem diversos outros teste menos usuais.
Alguns desses testes serão citados a seguir.

· [Link](x, [Link])

Realiza o teste do Qui-quadrado de independência, testando a


dependência entre variáveis em uma tabela de dupla entrada. O Parâmetro
x é o vetor contendo os dados da amostra.

· [Link](x, alternative, [Link], [Link])

Realiza o teste exato de independência de linhas e colunas em uma tabela


de contingência com as marginais fixas. O parâmetro [Link] calcula o
intervalo de confiança para a razão de chances em tabelas 2x2 caso seja
TRUE.

· [Link](x)

Realiza o teste de Shapiro-Wilk para normalidade. O parâmetro x é um


vetor contendo a amostra que deve ter tamanho entre 3 e 5000.

· [Link](formula,dados)

Realiza o teste de Bartlett com a hipótese nula de que as variâncias dos


grupos são iguais. O parâmetro formula é a relação entre a variável
dependente e o fator (Ex: Pressão~Volume) e o dado é o conjunto de
dados onde será aplicado a formula.

6. Regressão e correlação linear

6.1. Introdução

A regressão e a correlação linear são técnicas usadas para estimar uma relação

37
que possa existir entre variáveis dentro da população estudada. Sua análise
compreende a avaliação de dados amostrais para saber como duas variáveis
estão se relacionando uma com a outra. Com a regressão conseguimos a
equação que descreve o relacionamento das variáveis em termos matemáticos,
já com a correlação conseguimos medir o grau de relacionamento entre essas
duas variáveis. Com essas técnicas podemos saber as relações das variáveis e
transforma-lo em um modelo matemático.

6.2. Regressão linear simples

A regressão linear simples nada mais é do que a tentativa de estabelecer uma


equação matemática, nesse caso uma reta, pois é uma regressão linear simples,
mas nem todas as situações se adequam a equação linear, sendo necessária uma
transformação nos dados para deixa-los linearizados. Nessa apostila iremos
abordar apenas o modelo simples, que sempre usará uma equação linear para
ser representado.

A equação linear, conhecida como reta de regressão, é o modelo de regressão


linear simples e tem as seguintes características:
= + +
Onde:
· α: Intercepta a reta
· β: Inclinação da reta
· ε: Erro aleatório de Y para observação

Assim, a inclinação β representa a mudança esperada de Y por unidade de X, isto


é, representa a mudança de Y (positiva ou negativa) para uma particular unidade
de X. Por outro lado, α representa o valor de Y quando X=0, enquanto
representa uma variável aleatória que descreve o erro de Y para cada observação.
Com os dados amostrais a equação é calculada pelo método dos mínimos
quadrados. No R, usaremos a função lm (lm = ”linear model”), e a partir dela
teremos a regressão linear.

> #Sintaxe da Regressão linear


> lm(Y~X,data)

Y~X significa que Y depende de X, sendo X a variável independente.


O data será o [Link] da amostra.

> x<-c(120,135,160,200)
> y<-c(10,16,18,24)
> data = [Link](x,y)
> lm( y~x, data)

Call:
lm(formula = y ~ x, data = data)

Coefficients:
(Intercept) x
-7.5162 0.1595

38
Coso seja necessário verificar os resultados da função lm, inclusive os
coeficientes, devemos usar o comando summary:

> #Sintaxe
>summary()

> regressao = lm( y~x, data)


> summary(regressao)

Call:
lm(formula = y ~ x, data = data)

Residuals:
1 2 3 4
-1.618399 1.989779 0.003407 -0.374787

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -7.51618 4.74194 -1.585 0.2538
x 0.15945 0.03026 5.269 0.0342 *
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 1.833 on 2 degrees of freedom


Multiple R-squared: 0.9328, Adjusted R-squared: 0.8992
F-statistic: 27.77 on 1 and 2 DF, p-value: 0.03418

Além do summary temos alguns importantes resultados que podem ser obtidos
através de comandos simples.

> NOME$[Link] #Calcula os valores preditos para cada elemento da


amostra
> regressao$[Link]
1 2 3 4
11.61840 14.01022 17.99659 24.37479

> NOME$residuals #Calcula o erro para cada ponto da amostra


> regressao$residuals
1 2 3 4
-1.618398637 1.989778535 0.003407155 -0.374787053

> NOME$coefficients #Obtém uma estimativa dos coeficientes da regressão


> regressao$coefficients
(Intercept) x
-7.5161840 0.1594549

Podemos traçar o gráfico da regressão através da função plot(), que será


detalhada no capitulo de gráficos. Junto ao gráfico dos pontos podemos também

39
traçar a reta de regressão, que seria a melhor reta do gráfico, através da função
abline(). Além dos pontos, podemos pedir para plotar a própria regressão linear,
dessa forma serão mostrados diversos gráficos relacionados ao ajuste do modelo
linear.

> plot(x,y)
> abline(regressao)
22
18
y

14
10

120 140 160 180 200

> plot(regressao)

6.3. Coeficiente de Correlação

O coeficiente de correlação mede o grau de associação entre as variáveis


dependente e independente (x e y). Através do gráfico de dispersão é possível
indicar se a correlação linear é positiva, negativa ou inexistente. Além de saber
se essa correlação existe, podemos identificar qual seu tipo de correlação,
podendo ser nula, fraca, regular, forte e perfeita. O valor do coeficiente (r) varia
de -1(correlação negativa) a 1(correlação positiva) e dependendo do valor do r
pode-se ter diversas interpretações, entre elas :
· Correlação nula (r = 0): Y não cresce, ou seja, será constante.
· Correlação fraca (0 ≤ r ≤ 0,3): Y cresce mais lentamente que X
· Correlação forte (0,7 ≤ r ≤ 0,99): Y cresce mais rapidamente que X
· Correlação perfeita( r = 1): Y cresce na mesma velocidade de X

No R, para acharmos o coeficiente de correlação iremos usar a função cor()

>#Sintaxe do coeficiente de correlação


>cor(x,y)

> x<-c(3,6,8,15,20)
> y<-c(26,20,17,9,4)
> cor(x,y)
[1] -0.9915304

40
6.4. Coeficiente de Determinação

O coeficiente de determinação ( ) expressa à proporção da variação total que é


explicada por X sobre Y. Seu valor vai de 0 ate 1. Por exemplo, quando
=0,9796 podemos entender que 97,96% da variação da variável dependente
(Y) é explicada pela variável independente (X), os outros 2,04% possuem
causas aleatórias desconhecidas (independente de x).

O coeficiente de determinação nada mais é do que o coeficiente de correlação


elevado ao quadrado, portanto no R iremos apenas elevar ao quadrado a função
mostrada anteriormente.

>#Sintaxe do coeficiente de determinação


>cor(x,y)^2

> x<-c(3,6,8,15,20)
> y<-c(26,20,17,9,4)
> cor(x,y)^2
[1] 0.9831325

7. Gráficos

7.1. Introdução

Os gráficos nos permitem analisar uma grande quantidade de informação de


forma rápida, sem que seja necessário consultar tabelas e medidas de resumo. O
R possui uma enorme capacidade para gerar diversos tipos de gráficos de alta
qualidade totalmente configuráveis, desde cores e tipos de linhas, até legendas e
textos adicionais. É possível se ter uma ideia dos recursos do R usando a função
de demonstração (digite demo(graphics) no R), que vai mostrar algumas
sintaxes e ao mesmo tempo os gráficos que são gerados. A partir de agora
iremos fazer um estudo mais detalhado sobre os gráficos no R.

7.2. Comandos básicos

7.2.1. Opções de configuração

Os gráficos do R são altamente configuráveis e a grande maioria das


funções gráficas faz uso de opções comuns, ficando mais simples a
personalização, pois muitas opções são iguais. A seguir serão citadas
opções que são comuns a qualquer gráfico:

· xlim: (inicio, fim) dupla contendo os limites do eixo x.


· ylim: (inicio, fim) dupla contendo os limites do eixo y.

41
· xlab: título para o eixo x.
· ylab: título para o eixo y.
· main: título principal do gráfico.
· col: cor de preenchimento do gráfico, podendo até ser um vetor.
Para conferir as cores disponíveis basta acessar o comando colors().

7.2.2. Funções utilizáveis

No R ainda temos funções que consistem na utilização de identificadores


gráficos, quando se deseja identificar um ponto ou um conjunto de pontos
em um gráfico ou ate mesmo inserir um texto em alguma coordenada.
Entre essas funções temos.

· Locator(): permite que o usuário selecione regiões do gráfico


utilizando o botão esquerdo do mouse até que se tenha o número n
de pontos selecionados. A cada clique as coordenadas do ponto
aparecem no prompt de comando. Sua sintaxe será da seguinte
forma:

>#Sintaxe
>locator(n)
Onde n é o número de pontos

> x<-1:10
> y<-x^2+2
> plot(x, y)
> locator(2)
$x
[1] 4.065505 8.256650

$y
[1] 19.6579 71.0741

· Text(): insere um texto nas coordenadas definidas. As coordenadas


podem ser definidas através da sintaxe da função ou usando a
função locator(), que irá escrever o texto em cima do ponto que o
usuário clicar. Sua sintaxe será da seguinte forma:

>#Sintaxe
>text(x, y, texto, cex, col)
Onde:
x – posição relativa ao eixo x
y – posição relativa ao eixo y
texto – texto que irá ser inserido na coordenada
cex – proporção relativa ao tamanho dos caracteres, por padrão é 1
col – cor do texto, por padrão é 1

> x<-1:10

42
> y<-x^2+2
> plot(x, y)
> text(2,6,"Ponto",cex=0.5,col="blue")
> text(locator(1),"Ponto escolhido" #Irá escrever a mensagem no
ponto que for clicado

· Identify(): comando semelhante ao lacotor(), porém apresenta a


capacidade de identificar pontos particulares de um gráfico. Sua
sintaxe será da seguinte forma:

>#Sintaxe
>identify(x, y, n)

> x <- c(2,3,4,5,6,7,8,9)


> y <- c(15,26,45,8,74,11,61,32)
> nomes <- paste("cidade", LETTERS[1:8], sep= " ")
> cidades <- [Link](x,y,[Link]=nomes)
> cidades
x y
cidade A 2 15
cidade B 3 26
cidade C 4 45
cidade D 5 8
cidade E 6 74
cidade F 7 11
cidade G 8 61
cidade H 9 32
> plot(cidades)
> identify(x,y,nomes,n=4)
aviso: nenhum ponto em 0.25 polegadas
[1] 3 5 7 8
>#Ao clicar no ponto ele te dará o nome que esta no vetor
“nomes”, escrevendo no gráfico e mostrado sua posição no prompt.

· Par(mfrow) ou par(mfcol): essa função permite que plotemos mais


de um gráfico lado a lado, para uma comparação por exemplo. Sua
sintaxe será da seguinte forma:

>#Sintaxe
>par(mfrow=c(x,y)) ou par(mfcol=c(x,y))
Onde x será número de divisões horizontais e y o número de
divisões verticais.

> par(mfcol=c(1,2))
> x<-1:8
> y<-9:2
> plot(x,y)
> plot(y,x) #Os dois gráficos ficaram lado a lado

43
· [Link], [Link], [Link], [Link]: Controla os tamanhos das
fontes do título, do rodapé, dos nomes dos eixos e dos valores dos
eixos, respectivamente. Os valores menores que 1 diminuem a fonte
e maiores que 1 aumentam a fonte. São controlados pela função par,
mas também podem ser incluídos no código de cada gráfico.
>#Sintaxe
>par([Link]=1.5)
>par ([Link]=0.3)
>#Foi modificados os tamanhos da fonte do título principal e dos nomes
dos eixos

7.3. Gráfico de dispersão

O gráfico de dispersão nada mais é do que plotar os pontos x e y em um gráfico


nas coordenadas cartesianas. Sua sintaxe no R é a seguinte.

> #Sintaxe do gráfico de dispersão


> plot(x,y,pch,lwd,main,type)
Onde:
x – vetor contendo os pontos do eixo x
y – vetor contendo os pontos do eixo y
pch – escolhe o tipo de caractere
lwd – escolhe a espessura do caractere plotado
type – caso “l” irá plotar linhas, “p” irá plotar pontos, "b" para pontos e linhas,
"c" para linhas descontínuas nos pontos, “o" para pontos sobre as linhas, "n"
para nenhum gráfico, apenas a janela.
main – Título principal do gráfico.

> x<- c(2,4,6,10,18,30,34,50,56,60)


> y<- c(5,12,23,27,30,31,34,39,41,45)
> plot (x,y,pch=4,lwd=2,main="Gráfico de Dispersão",type="p")
>#O gráfico gerado é mostrado logo abaixo.
>#Para mudar o nome do eixo de coordenadas, basta atribuir os dados ao nome
que deseja em vez de ‘x’ ou ‘y’.

44
Figura 3: Gráfico de dispersão dos pontos x e y do exemplo acima. E também a linha de tendência

Gráficos com Linhas de tendência estatística exibem tendências em dados e


analisa problemas de previsão.
> #Sintaxe: Linha de Tendência
> linha <- lm(y~x)
> abline (linha)
>#O nome “linha” foi dado apenas como exemplo, qualquer nome poderá ser usado.
>#A linha está plotada na figura 3.

7.4. Histograma

O histograma divide uma série de dados em diferentes classes igualmente


espaçadas e mostra a frequência de valores em cada classe. No seu gráfico são
mostradas diferentes barras, com bases iguais e amplitudes relativas às
frequências em cada classe, ou seja, o eixo das ordenadas mostra a frequência
relativa de cada classe e o eixo das abcissas os valores e intervalo de cada
classe. Sua sintaxe no R é a seguinte.

>#Sintaxe do histograma
>hist.(dados, nclass, breaks, prob)
Onde:
nclass – número de classes do histograma, não será usado caso breaks tenha
sido definido
breaks – vetor contendo os pontos de definição das larguras das barras do
histograma, não será usado caso nclass tenha sido definido

45
prob – se for TRUE plotara a densidade, caso seja FALSE plotara a frequência
absoluta

> x<-c(rep(1,3), rep(2,2), rep(3,2),4, 5, 5, 6:10,rep(11,3), 12, 14)


>x
[1] 1 1 1 2 2 3 3 4 5 5 6 7 8 9 10 11 11 11 12 14
> hist(x,nclass=5,main="Gráfico exemplo do
Histograma",col="blue",xlab="x",ylab="Frequência")
> >#O gráfico gerado é mostrado logo abaixo
> #Comandos Extras:
Linhas de sombreamento – Em qualquer parte do comando ‘hist’ colocar:
density = x. Onde x é a densidade das linhas.
Barras com cores: No tópico ‘col’ basta colocar:
c("blue","red","orange","green","pink") – Para o caso de 5 barras.
Mudando as bordas: Em qualquer parte do comando colocar: border=c(“cores”).

Gráfico exemplo do Histograma


5
4
Frequência

3
2
1
0

0 2 4 6 8 10 12 14

Figura 4: Histograma de x do exemplo citado acima

7.5. Barplot

O barplot produz gráficos de barras, onde cada barra representa a medida de


cada elemento de um vetor, ou seja, as barras são proporcionais à frequência de
cada elemento. Sua sintaxe no R é a seguinte.

46
>#Sintaxe do barplot
>barplot(dados, [Link], space, width, horiz)
Onde:
[Link] – legenda do gráfico, lembrando que caracteres devem ser escritos
dentro das apas (“ ”)
space – espaço deixado antes de cada barra
width – vetor contendo largura relativa de cada barra com relação as demais
horiz – Valor lógico. . Se “FALSE”, as barras são serão dispostas verticalmente.
Se “TRUE”, as barras são dispostas horizontalmente.
[Link] – é um vetor de nomes que aparecem em cada bar (caso não esteja
definido).
x<- c(10, 15, 22, 7)
> names(x)<- c("Sem escolaridade", "Ensino fundamental", "Ensino médio",
"Ensino superior")
> barplot(x,[Link]="Legenda do gráfico",main="Gráfico exemplo do
Barplot",col=c("red", "green", "gray", "blue"), xlab="Escolaridade",
ylab="Frequência")
># O gráfico gerado é mostrado logo abaixo

Gráfico exemplo do Barplot


20

Legenda do gráfico
15
Frequência

10
5
0

Sem escolaridade Ensino fundamental Ensino médio Ensino superior

Escolaridade

Figura 5: Barplot de x do exemplo citado acima

7.6. Boxplot

O boxplot é um gráfico que se baseia nos parâmetros descritivos (mediana e os


quartis). Com ele é possível avaliar a simetria dos dados e a sua dispersão. Seu

47
formato lembra uma caixa, onde a linha superior da caixa representa o terceiro
quartil, a linha do meio representa o segundo quartil e a linha de baixo o
primeiro quartil. Nas suas extremidades tem os outliers. Sua sintaxe no R é a
seguinte.

>#Sintaxe do boxplot
>boxplot(dados, outline, horizontal)
Onde:
outline – se for TRUE plota os outliers, caso FALSE não plota
horizontal – Valor lógico. Se “horizontal= TRUE” as caixas estarão na
horizontal. Caso “horizontal=FALSE” as caixas serão verticais..
> x<-c(20,18,22,25,19,16.5,30,18)
> y<-c(1, 2, 2, 9, 5, 7.4, 4.2, 10)
> boxplot(x, y main="Gráfico exemplo do Boxplot",col="red",xlab="eixo
x",ylab="eixo y")
>#O gráfico é mostrado logo abaixo

Gráfico Exemplo do Boxplot


30
25
20
eixo y

15
10
5
0

eixo x

Figura 6: Boxplot do exemplo citado acima

48
7.7. Gráfico de pizza

O gráfico de pizza é muito conhecido, principalmente por sua fácil


compreensão, pois ele exibe os dados como proporção de um todo, permitindo a
comparação entre grupos. Esse gráfico não tem eixos, fazendo com que os
dados se arrumem de forma a ocupar uma “fatia da pizza” proporcional a sua
frequência. Sua sintaxe no R é a seguinte.

>#Sintaxe do gráfico de pizza


>pie(dados, labels, radius)
Onde:
labels – vetor contendo os rótulos de cada fatia
radius – raio da circunferência, por padrão é 1

x<-c(10,20,30,40,50)
> pie(x,labels=c("A","B","C","D","E"),main="Exemplo do Gráfico de
pizza",col=c("red","blue","green","gray", "brown"))
>#Para colocar a legenda
>legend (“posição”,c(“descrição das legendas”), fill, cex)
Onde:
Posição – Posição da legenda no gráfico. Pode ser: “topleft”, “topright”, “top”,
“bottomleft”, “bottomright”, “bottom”, “left”, “right” e “center”.
Descrição – Vetor de texto.
Fill – Vetor de cores em cada fatia.
Cex – Tamanho da fonte da legenda. Ela está definida em 1.
>legend ("topleft", legend=c("A","B","C","D","E"),
fill=c("red","blue","green","gray","brown"))
>#O gráfico gerado é mostrado logo abaixo

49
Exemplo do Gráfico de pizza

A
B C
C
D B
E

Figura 7: Gráfico de pizza do exemplo citado acima

7.8. Polígono de Frequências


Um polígono de frequência é um gráfico que se realiza através da união dos
pontos mais altos das colunas num histograma de frequência (que utiliza
colunas verticais para mostrar as frequências).
Os polígonos de frequência para dados agrupados, por sua vez, constroem-se a
partir da marca de classe que coincide com o ponto médio de cada coluna do
histograma. Quando são representadas as frequências acumuladas de uma tabela
de dados agrupados, obtém-se um histograma de frequências acumuladas, que
permite dispor em diagrama o seu polígono correspondente.
>#Sintaxe do Polígono de frequências
>plot(x, y, type=’tipo’)
Onde :
x – Dados do eixo x.
y – Dados do eixo y.
type – caso “l” irá plotar linhas, “p” irá plotar pontos, "b" para pontos e linhas, "c" para
linhas descontínuas nos pontos, “o" para pontos sobre as linhas, "n" para nenhum
gráfico, apenas a janela.
> mes<-1:12
>temperatura<-c(-5.44,- 5.17,0.11,6.89,12.67,17.94,20.44,19.5,15.67,9.72,4.06,-2.56)
> plot (mes, temperatura, type='o', main= "Exemplo Polígono de Frequências")
>#O gráfico gerado é mostrado logo abaixo.

50
Figura 9: Exemplo do gráfico citado acima.

8. Outras funcionalidades

8.1. Introdução

O R é um software de ambiente capaz de produzir gráficos e calcular


probabilidades, teste de hipóteses entre outras funções da estatística. Mesmo
voltado para conteúdo estatístico o R não deixa de ser uma ferramenta de
programação e para aqueles que gostam, serão capazes de gerar pequenos
programas.

8.2. Programando com R

A linguagem R é composta por um conjunto de instruções que são escritas


através de um conjunto de códigos. Como cada linguagem de programação, a
linguagem R possui suas regras de estruturação lógica e sintática própria.
Dentro desta linguagem iremos ver a entrada de dados feita pelo usuário, as

51
funções condicionais e as funções iterativas.

8.2.1. Entrada de dados

O R possui diversas funções que tem como objetivo escrever ou ler os


dados introduzidos pelo usuário. A função print() é usada para escrever o
conteúdo de qualquer objeto, assim como a função cat(), que tem a função
de transformar todos os argumentos introduzidos pelo usuário em strings e
em seguida escrever no prompt de comando. Essas funções no R são da
seguinte forma.

> print("Olá mundo")


[1] "Olá mundo"
>
> data=16
> cat("A prova de estatistica sera dia",data)
A prova de estatistica sera dia 16

Para a leitura de dados oriunda do usuário, a função usada é a scan(). Essa


função pode ser usada para leitura de diversos tipos dados, como
caracteres, inteiros, strings, valores lógicos entre outros. A maneira mais
simples é a leitura de inteiros, feita da seguinte forma no R.

> scan()
1: 6
2: 3
3:
Read 2 items
[1] 6 3
>#Usado dessa forma à função não terá limites, ela só ira finalizar quando
o usuário apertar a tecla ENTER duas vezes.
>#A função aqui esta limitada para ler 3 números do usuário
> scan(n=3)
1: 15
2: 3
3: 9
Read 3 items
[1] 15 3 9

Para saber todos os argumentos que a função suporta e como usá-los basta
acessar o help(scan) no software R.

8.2.2. Funções condicionais

As funções condicionais seguem o mesmo princípio de outras linguagens


de programação, uma hipótese irá acontecer dependendo de certa condição.
E é assim que a função if() funciona, realizando determinada ação caso a

52
hipótese em questão seja verdadeira, se for falso fará outra ação. É válido
lembrar também que é possível fazer diversos “loopings condicionais” na
mesma função. No R, a função if() é feita da seguinte forma.

> x<-3
> if(x>0)
+ {cat("x é um número positivo\n")}
x é um número positivo
>
> idade<-scan(n=1)
1: 63
Read 1 item
> idade
[1] 63
> if(idade<18){
+ cat("Menor de idade\n")
+ }else if(idade<60){
+ cat("Pessoa adulta\n")
+ }else {cat("Pessoa idosa\n")}
Pessoa idosa

Além do if() existe outra função condicional, o switch(). Essa função é


usada para escolher uma entre varias alternativas. Uma abordagem simples
no R é feita da seguinte forma

> sémaforo<-"verde"
> switch(sémaforo, verde="Continue", amarelo="Atenção",
vermelho="Pare")
[1] "Continue"

8.2.3. Funções interativas

As funções interativas são os ciclos, ou seja, funções que executam um


bloco de instruções até que o ciclo tenha fim. A função while() tem essa
propriedade, pois ela faz determinada ação enquanto a condição estiver
sendo cumprida. Uma forma simples da função while() no R é mostrada a
seguir.

> x<-rnorm(1) #recebe um número aleatório pela distribuição normal


> while(x<1){ # Enquanto x < 1, faça
+ cat("x",x,"\t")
+ x<-rnorm(1)
+ if(x>=1){
+ cat("\n")}}
x 0.4408409
>x
[1] 1.933835

53
> #1.933835 é o primeiro número aleatório maior que 1 gerado

Para o caso de um ciclo em que se é possível controlar o numero de vezes


que ele ocorrera usa-se a função for(). Isso é possível, pois existe uma
variável de controle que vai tomar uma série de valores pré-definidos em
cada interação do ciclo. No R ficaria da seguinte forma.

>#Sintaxe
>for(<variável de controle> in <conjunto>)
{bloco de ações}

Com esses pequenos exemplos, o R se mostra bem versátil, servindo até


para execução de pequenos programas. Essa breve apresentação da
linguagem concede uma pequena base para implementação no R. O aluno
que tiver interesse em se aprofundar na linguagem R basta acessar a função
help() ou acessar fóruns sobre a linguagem.

9. Referencias bibliográficas

· BUSSAB, Wilton de Oliveira; MORETTIN, Pedro A.. Estatística básica. 5.


ed. rev. e atual. São Paulo: Saraiva 2004.
· <[Link] Acessado em 06/06/2014
· <[Link] Acessado em 06/06/2014
· <[Link]
Acessado em 07/06/2014
· <[Link] em
19/06/2014
· <[Link] Acessado em
20/06/2014
· [Link]
· [Link]
graficos
· [Link]
·

54

Você também pode gostar