Você está na página 1de 32

MINISTÉRIO DA EDUCAÇÃO

UNIVERSIDADE FEDERAL DE SANTA MARIA


PRÓ-REITORIA DE GESTÃO DE PESSOAS
COORDENADORIA DE INGRESSO, MOBILIDADE E DESENVOLVIMENTO
NÚCLEO DE EDUCAÇÃO E DESENVOLVIMENTO

Introdução à análise estatística com ambiente R

Rafael Aldrighi Tavares

2 0 1 6
1

UNIVERSIDADE FEDERAL DE SANTA MARIA

REITOR
Prof. PAULO AFONSO BURMANN

VICE-REITOR
Prof. PAULO BAYARD DIAS GONÇALVES

PRÓ-REITORIA DE GESTÃO DE PESSOAS


Adm. NEIVA MARIA CANTARELLI

COORDENADORIA DE INGRESSO, MOBILIDADE E DESENVOLVIMENTO


Adm. MARIANA DE FREITAS BALDISSERA

NÚCLEO DE EDUCAÇÃO E DESENVOLVIMENTO


Adm. DANIEL WEISS
2

1. INTRODUÇÃO
O sistema R é uma linguagem e ambiente para computação estatística e gráficos, que
fornece uma ampla variedade de técnicas estatísticas (modelagem linear e não linear, testes
estatísticos clássicos, análise de séries temporais, classificação, agrupamento, ...) e gráficos,
sendo altamente extensível. Disponível como Software Livre sob os termos da Licença Pública
Geral GNU da Free Software Foundation na forma de código fonte, compila e funciona em uma
grande variedade de Plataformas UNIX e sistemas similares (incluindo FreeBSD e Linux), e
também em Windows e MacOS.
O termo “ambiente” pretende caracterizar R como um sistema totalmente planejado e
coerente, em vez de uma aglomeração de ferramentas muito específicas e inflexíveis, como é o
caso com outros softwares de análise de dados.
Uma das grandes vantagens em se usar o R é que o usuário tem total controle sobre o que
está acontecendo e também tem de compreender totalmente o que deseja antes de executar uma
análise. Outra vantagem é que por ser um software livre, a citação do R em artigos é permitida e
até aconselhável. Para saber como citar o R, digite citation() na linha de comando. Para citar um
pacote específico, digite citation() com o nome do pacote entre aspas dentro dos parênteses.
O Projeto R é de uma colaboração internacional de vários pesquisadores que se
comunicam através de uma eficiente lista de discussão pela Internet. Com isso, não só “bugs”
(defeitos de programação) são detectados e corrigidos, como também novos módulos contendo
métodos estatísticos recentemente implementados são regularmente disponibilizados e
atualizados na rede.
Sendo assim, um pesquisador em algum lugar do mundo precisou desenvolver uma
aplicação numa área que não é coberta nem pelo módulo básico nem pelos módulos de
colaboradores existentes. O que esse pesquisador faz é desenvolver o que é chamada de uma
biblioteca para o R com as funções que ele criou e utilizou, disponibilizando-as na rede. A
vantagem é que a biblioteca pode ser usada por diferentes pessoas, que irão eventualmente
reportar erros nas funções, que podem então ser atualizadas pelo seu criador.

2. BAIXANDO E INSTALANDO R
a) Entrar no site: http://www.r-project.org
3

b) Selecione a opção CRAN (Comprehensive R Archive Network)


c) Selecione o CRAN do Brasil. Sugere-se o mais próximo de sua unidade.
d) Selecione o sistema operacional que ira trabalhar (Linux, MacOS X ou Windows)
e) Selecione a opção base - Binaries for base distribution.
f) Selecione a opção Download R 3.3.1 for Windows (ou a versão disponível).

Como o R é um software livre, não existe a possibilidade de o usuário entrar em contato


com um serviço de suporte de usuários, muito comuns em softwares pagos.
Existem várias listas de correio eletrônico que fornecem auxiliam os usuários,
particularmente, recomendamos o ingresso na lista R_BR:
http://www.leg.ufpr.br/doku.php/software:rbr

3. AMBIENTE R
Na janela inicial do R (Console), é apresentado o prompt ( > ), que é o prompt de linhas
de comandos do R. Nas linhas de comandos podem se editados comandos do R ou expressões
algébricas. Se uma linha de comando está incompleta, aparecerá um sinal de +, indicando que
deve continuar a digitar aquela linha.
Para executar um comando ou calcular o valor da expressão algébrica da linha de
comandos, basta usar a tecla <ENTER>.

- Para sair do R, use:


> q( )
Ou a opção de menu: arquivo / sair

O ambiente de trabalho no R pode se reduzir à janela Console ou trabalhar


simultaneamente com duas janelas Console + Script (Editor R).

a) Para abrir um Novo Script use a opção: Arquivo / Novo Script.


b) Para abrir um Script disponível use a opção: Arquivo / Abrir Script.
c) Para navegar pelas janelas Console e Script ou escolher a forma de visualizá-las
simultaneamente, use a opção: Janelas.
4

O Script é um editor de textos do R que possibilita editar os comandos e transferi-los para


serem executados na janela Console (CTRL + R) ou com a opção de menu: Editar / Executar.
A vantagem dessa forma de trabalho é que a janela Script pode ser salva a qualquer momento
(Para salvar, a extensão do nome do arquivo deve ser .R).
As barras utilizadas na descrição de caminhos de diretórios no R são diferentes das
utilizadas no Windows. Exemplo: para especificar o caminho na pasta AULAS na raiz do drive
C: (No R - C:/AULAS, No Windows C:\AULAS)

- Para saber o diretório de trabalho (default), use:


> getwd()

- Para criar um diretório pelo R, use:


> dir.create("C:/R")

- Para alterar o diretório de trabalho, use:


> setwd("C:/R ")
Ou, na opção de menu: Arquivo / Mudar Diretório

- Para visualizar o conteúdo de um diretório:


- Um diretório qualquer:
> dir("C:/")

- Diretório de trabalho
> dir()

3.1 PACOTES R
O R é um ambiente de programação e existem atualmente mais de 3.000 pacotes que
desempenham funções específicas e que precisam ser instalados e carregados
independentemente.
Pacotes (packeges) ou bibliotecas (library) são conjuntos de funções, exemplos, e
documentações desenvolvidas para determinadas tarefas. No R podem-se encontrar pacotes
5

desenvolvidos pelos responsáveis pelo R ou implementados por usuários.


A finalidade e sintaxe de alguns comandos R, relacionados a "pacotes", são:
- Listar os Pacotes disponíveis no ambiente R (instalados e disponíveis).
> (.packages())

- Listar os Pacotes disponíveis em seu computador (instalados e não disponíveis).


> .packages(all.available=TRUE)

- Para disponibilizar um pacote instalado para uso (requerer ou carregar).


> require("MASS")
ou
> library("class")

- Instalar pacotes (necessita conexão com a internet).


> install.packages("agricolae")

Com este comando é solicitado o CRAN onde ele será acessado. Sugere-se que use o
mais próximo de sua unidade.
O pacote instalado permanece no seu computador até que você o remova. Para usá-lo
você precisa disponibilizá-lo (requerê-lo) a cada vez que entrar no R.

- Remover (desinstalar) pacotes.


> remove.packages("agricolae")

- Auxílio sobre um pacote (instalado).


> help(package="agricolae")

- Auxílio sobre um comando do R on-line. Necessita conexão com a internet.


> help(mean)
ou
> ?mean
6

- Auxílio sobre um comando em todos os pacotes instalados.


> help.search("mean")
ou
>??mean

Para acessar comandos já executados, use as setas direcionais (  e  ).


Para limpar a Janela Console use CTRL + L.

4. CALCULOS E FUNÇÕES
Vamos iniciar mostrando o R como calculadora. Por exemplo, tente fazer uma conta
simples:
> 3+7
Repare que o resultado da operação é precedido por um [1]. Isto é apenas para indicar que
o resultado “10” é o primeiro (e nesse caso único) elemento retornado pelo programa. Exemplos:

- Aritméticos:
Adição (+), subtração (-), multiplicação (*), divisão (/), potenciação (^ ou **).
> 3^2

- Lógicos:
igual a ( == ), menor (<) , maior (>) , menor ou igual (<=), maior ou igual (>=) e
diferente (!=).
> pi>2
> 10==15

- Funções aritméticas
Raiz quadrada
> sqrt(125)
7

Logaritmo de x na base n
> log(2187, base=3)

Logaritmo neperiano
> log(2187)

Logaritmo decimal
> log10(2187)

Seno
> sin(45)

Vamos aproveitar esse exemplo para explicar algumas características básicas das funções
disponíveis no R. Todas têm a forma: função (argumento(s) obrigatório(s), argumento(s)
opcional(is))
Sendo que os argumentos opcionais podem ter um valor padrão pré-estabelecido ou não.
Os argumentos estarão sempre entre parênteses sendo separados por vírgula. Se você deixar o
primeiro argumento em branco, vai receber uma mensagem de erro:
> log(, base=3)

Repare que o programa já indica que o argumento (que ele chama de “x”) obrigatório não
foi fornecido e que não existe nenhum padrão (default). Agora, deixe o segundo argumento em
branco:
> log(2187,)

Dessa vez não houve mensagem de erro, mas o resultado é diferente do que a gente
obteve anteriormente. Se não houve queixa do programa quanto ao segundo argumento, ele deve
ter um default pré-estabelecido
A função log() precisa de um argumento x que não tem default e também de um
argumento base que tem um valor pré-estabelecido, exp(1).
8

> exp(1)
> log(2187, base=2.718282)

Existe uma maneira de economizar digitação omitindo o argumento base =.


> log(2187, 3)

A função só tem 2 argumentos possíveis e eles foram digitados na ordem certa.


> log(3,2187)

Se você trocar a ordem, porém especificando quem é quem, não haverá confusão:
> log(base=3,2187)

4.1 VALORES FALTANTES E ESPECIAIS


- NA Not Available, denota dados faltantes. Note que deve utilizar maiúscula.
- NaN Not a Number, denota um valor que não é representável por um número.
- Inf e –Inf, mais ou menos infinito.
> c(-1, 0, 1)/0

5. CLASSES DE OBJETOS
Objeto para o R significa tanto um banco de dados quanto a saída de uma função ou até
mesmo uma fórmula. Para criar um objeto no R, seja ele qual for, você deverá sempre usar o
operador <-, apontando para o nome de um objeto.
O R trabalha com as seguintes classes (ou tipos) de objetos: variável, vetor, lista, fator,
matriz e data.frame. Cada objeto tem: nome, conteúdo e atributo.
Os nomes de objetos são atribuídos pelo usuário e devem iniciar com uma letra
(maiúscula ou minúscula), seguido de combinações de letras, números e alguns caracteres (desde
que não reservados pelo R). O conteúdo é o valor do objeto. Os atributos podem ser numérico,
caractere (label), complexo ou lógico.
O R faz diferença entre caracteres maiúsculos e minúsculos. Todo objeto criado fica
residente no ambiente R até que feche o software ou que o remova.
9

- Os símbolos " <- " , "->" e " = " são usados para atribuição de valores.
> A <- 25
>A

- O símbolo " # " é usado para comentários no R.


>#A

- O ponto e vírgula ( ; ) permite a edição de mais que um comando na mesma linha.


> B <- A+30; B

- Para mostrar os objetos disponíveis na área de trabalho.


> ls()

-Para remover um objeto.


> rm(B)
> rm(list=ls())

5.1 VARIÁVEL
Objeto ao qual é atribuído um valor que pode ter qualquer dos atributos.
> x <- 10
> x
> nome <- "Curso R"; nome
> y <- 3- 2i; y
> res <- (x==20); res

- Para saber o atributo de um objeto.


> mode(x); mode(nome); mode(y); mode(res)

- Para verificar se o objeto tem um determinado atributo use:


> is.numeric(x); is.character(nome); is.complex(y); is.logical(res)
10

5.2 VETOR
Objeto com n valores (de mesmo atributo) que podem ser referenciados por um índice, ou
seja, coleção ordenada de elementos do mesmo tipo (mode) (valores numéricos, lógicos,
alfanuméricos, ...).

- Vetor numérico
Um dos métodos de criar um vetor numérico no R é através da função c(). A letra c
representa a função "concatenate" que concatena os valores entre parênteses.
> v1 <- c(2, 23, 14)

- Para referenciar o vetor como um todo use: nome_do_vetor.


> v1

- Para referenciar apenas seus elementos use: nome_do_vetor[índice_do_elemento].


> v1[2]; v1[c(1,3)]

- Vetor caracter
Também é possível criar vetores de caracteres. No R, sequências de caracteres textuais
são sempre delimitados por aspas.
> v2 <- c("Trat1", "Trat2", "Trat3", "Trat4"); v2; v2[3]
> nomes <- c("Alexandre", "Diego", "Vitoria"); nomes

Um vetor pode conter os símbolos especiais NA e NaN, que designam um valor


desconhecido e um valor não definido, respectivamente.
> y <- c(7, NA, 3, 5)

Os argumentos desta função concatenação podem ser os próprios vetores, pelo que c(x,y)
retorna a concatenação dos vetores x e y. Esta função pode ter vários argumentos.
> c(x, 0, x)
> nomes <- c(nome,"Marcelo")
11

> nomes

- Repetir o valor v, r vezes.


> v3 <- rep(5,4); v3

- Criar uma sequência de n a m, 1 em 1.


> v4 <- 1:10; v4

- Cria uma sequência com os valores de n a m, variando de p em p .


> v5 <- seq(2,14,3); v5
> v6 <- c(1,2,3,rep(6,3),seq(2,-14,-3)); v6
> mode(v1); mode(v2)

5.3 LISTA
Objeto com n valores (que podem ter diferentes atributos) que podem ser referenciados
por um índice. É uma coleção ordenada de objetos, que podem ser de tipos diferentes (vetores
numéricos, vetores lógicos, matrizes, listas, funções, ...). Chamamos de componente cada um dos
objetos da lista. Os componentes são numerados e podem ter um nome associado.
> curso <- list(id = 1, nome="Rafael", siape = 1971611, notas=c(7, 7),)

O resultado de muitas funções é uma lista. Os componentes de uma lista são indexados e
podem ser referidos pelo seu índice, utilizando parênteses ou se previamente nomeados, podem
também ser referidos pelo nome.
- Para referenciar a lista como um todo use: nome_da_lista.
> curso

- Para referenciar apenas seus elementos use: nome_da_lista$nome_do_elemento ou


nome_da_lista[índice_do_elemento].
> curso$registro
> curso[1]
> curso[3]
12

Observação: A maioria dos relatórios dos procedimentos estatísticos sai como lista.

5.3 FATOR
É um tipo particular de vetor, onde cada elemento repetido (uma ou mais vezes) é
considerado um nível do fator (um fator é utilizado para criar uma variável categórica). Muito
usado nas análises estatísticas – variáveis classificatórias.
> trat <- as.factor(c(0,0,0,0,10,10,10,10,20,20,20,20)); trat
> mode(trat)

- Para saber a classe (alguns tipos de objetos (variável e vetor) o comando informa o
atributo).
> class(trat)

- Transformado vetor em fator.


> vt=c("T1", "T1", "T1", "T2", "T2", "T3"); vt
> fvt=factor(vt); fvt
- O comando table informa o número de repetições dos níveis do fator.
> table(trat)
> table(fvt)

- Para gerar níveis de um fator pode-se usar a função gl (generate levels);


> fat1 <- gl(5,4); fat1
> fat2 <- gl(3,4,labels=c(0,10,20)); fat2
> fat3 <- gl(3,4,labels=c("C","T1","T2")); fat3

É importante notar a diferença entre um vetor de caracteres e um vetor que seja um fator
que são objetos de classes diferentes. O primeiro simplesmente guarda os seus elementos
enquanto o segundo possui atributos que nesta caso incluem os níveis do fator.
> estados <- c("PR", "SC", "RS")
> estados
13

> class(estados)
> estados <- factor(estados)
> estados
> class(estados)

Um fato relevante a respeito da manipulação de fator é que uma seleção de parte dele que
exclua um certo valor não exclui este valor dos atributos do vetor, como mostra o caso abaixo.
> estados_sel <- estados[-3]
> estados_sel

Da mesma forma pode-se criar um vetor e definir para eles níveis, mesmos que estes
níveis não estejam entre os elementos atualmente existentes no vetor.
> est <- c("SC", "PR", "SC", "PR", "RS", "SP", "RS", "SP", "ES", "PR", "RJ",
"ES"); est
> table(est)
> est_mg <- factor(est, levels = c("PR", "SC", "RS", "MG", "SP", "RJ", "ES"));
est_mg
> table(est_mg)

5.3 MATRIZ
Objeto com n m valores (n linhas e m colunas), com o mesmo atributo, que podem ser
referenciados por dois índices. Uma matriz é um arranjo bi-dimensional de dados, todos do
mesmo tipo, ou seja, numérico ou de caracteres. Uma matriz é definida pelo número de linhas (l),
número de colunas (c) e um conjunto de (l×c) valores.
> m <- matrix(1:12, 3, 4); m

- A opção byrow=TRUE faz com que os elementos sejam dispostos por linha.
> m <- matrix(1:12, 3, 4, byrow=TRUE) ; m

- Um objeto do tipo matrix tem associado o atributo dim que indica a sua dimensão, isto
é, nº de linhas e nº de colunas.
14

> dim(m)

- A função cbind faz a concatenação dos objetos por coluna.


> ma <- 1:3 ; ma
> mb<- 4:6 ; mb
> por_coluna <- cbind(ma, mb); por_coluna

- A função rbind faz a concatenação dos objetos por linha.


> por_linha <- rbind(ma, mb); Por_Linha

- Para referenciar a linha nl


> m[2,]

- Para referenciar a coluna nc


> m1[,3]

- Para referenciar o elemento i, j


> m1[2,3]

- Algumas operações com matrizes:


> A=matrix(c(1,3,2,8,9,11,0,4,3), ncol=3,byrow=T); A
> B=matrix(c(rep(1,3),rep(2,3),rep(3,3)),ncol=3); B
> S=A+B; S # soma de matrizes
> D=A-B; D # subtração de matrizes
> P=A %*% B; P # produto de matrizes
> T=t(A); T # transposta de matriz
> det(A); det(B) # determinante de matrizes
> IA=solve(A); IA # inversa de matrizes
> IB=solve(B); IB # inversa de matrizes
15

5.3 Data Frame


Objeto com n m valores (n linhas e m colunas) em que as colunas podem ser de
diferentes atributos, organizados na forma de banco de dados, ou seja, as colunas são as variáveis
(vetores ou fatores) e as linhas os registros (atributos variados de acordo com a coluna). É o
mesmo que uma matriz, mas aceita colunas de diferentes tipos. Este é o tipo de objeto mais
utilizado.
> d1 <- data.frame(x = 1:10, y = c(51, 54, 61, 67, 68, 75, 77, 75, 80, 82))
> names(d1)
> d1$x
> d1$y

- Gerando automaticamente combinações de valores


> d3 <- expand.grid(1:3, 4:5)
> d3

Tabela1: Um experimento com 2 tratamentos e 5 repetições, obteve-se os Pesos:


Repetição
Tratamento
1 2 3 4 5
1 25,5 28,4 24,1 27,5 26,3
2 31,6 30,5 29,3 31,1 29,4

Neste caso, os dados teriam que ser organizados com três colunas: Tratamento, Repetição
e Pesos, sendo Tratamento e Repetição como fatores e Peso como vetor. Os dados precisam ser
organizados da forma:
tr rp peso
1 1 25,5
1 2 28,4
1 3 24,1
1 4 27,5
1 5 26,3
2 1 31,6
2 2 30,5
2 3 29,3
2 4 31,1
2 5 29,4
16

- Para gerar níveis de um fator.


> tr <- gl(2,5)
> rp <- rep(1:5,2)
> peso <- c(25.5, 28.4, 24.1, 27.5, 26.3, 31.6, 30.5, 29.3, 31.1, 29.4)
> df <- data.frame(tr,rp,peso); df
> mode(df)
> class(df)

5.3.1 IMPORTANDO ARQUIVO TXT


O R é capaz de ler arquivos de dados salvos em diversos formatos diferentes, como
ASCII (arquivo texto, delimitado por espaço, tabulação, vírgula, ponto-e-vírgula, entre outros),
Excel, SPSS, EpiInfo, etc.
A função mais simples que lê dados externos no R faz parte do pacote básico e se chama
read.table(). Essa função vai importar dados em formato ASCII para um objeto do tipo
dataframe.
Criar arquivo em Exel ou LibreOffice. Na opção Salvar como, inserir em Nome do
arquivo: dados.txt, Tipo: Texto separado por tabulações (Exel) ou Texto CSV (LibreOffice)
Importando o arquivo
> dados <- read.table("dados.txt", header=T, sep="\t", dec=",")
> dados
> class(dados); mode(dados)

6 PLANEJAMENTO EXPERIMENTAL

6.1 ESQUEMA EXPERIMENTAL


Forma em que os níveis de fatores são combinados para obterem os tratamentos. Os
delineamentos experimentais envolvem um ou mais fatores, cada fator com nf níveis:

a) Unifatorial – Um fator com nf níveis


b) Fatorial – Dois ou mais fatores com nf níveis
17

Um esquema é montado segundo a um delineamento experimental.

6.2 DELINEAMENTO INTEIRAMENTE CASUALIZADO - DIC (ONE-WAY)


As unidades experimentais são consideradas homogêneas e os fatores são atribuídos a
elas de forma completamente casual (aleatória).

a) Modelo unifatorial: yij = m + ti + eij , onde:


yij = valor observado na unidade experimental que recebeu o tratamento i, repetição j; m=
efeito geral da média; ti = efeito do tratamento i; eij = erro aleatório (resíduo).

b) Modelo fatorial: yijk = m + ai +bj+(ab) ij+eijk , onde:


yijk = valor observado na unidade experimental que recebeu o fator a i, fator b j e
repetição k; m= efeito geral da média; ai = efeito do fator a i; bj = efeito do fator b j; (ab) ij =
efeito da interação do fator a i com fator b j; eijk = erro aleatório (resíduo).

- Casualização
> trat<-rep(c("a","b","c","d"),each=5)
> ue<-sample(1:20)
> casdic<- data.frame(Tratamento = trat, ue = ue)
> casdic

6.3 Delineamento em Blocos Casualizado - DBC (two-way)


As unidades experimentais não são homogêneas, mas podem ser agrupadas em b grupos
de t parcelas homogêneas (cada grupo constitui um bloco). Os tratamentos são atribuídos de
forma aleatória dentro de cada bloco.

a) Modelo unifatorial: : yij = m +bj + ti + eij , em que


yij = valor observado na unidade experimental que recebeu o tratamento i, bloco j; m=
efeito geral da média; bj = efeito do bloco j; ti = efeito do tratamento i; eij = erro aleatório
(resíduo).
18

b) Modelo fatorial: yijk = m + ai +bj+(ab) ij+ Ck + eijk , onde


yijk = valor observado na unidade experimental que recebeu o fator a i, fator b j, bloco k;
m= efeito geral da média; ai = efeito do fator a i; bj = efeito do fator b j; (ab) ij = efeito da
interação do fator a i com fator b j; Ck= bloco k ;eijk = erro aleatório (resíduo).

- Casualização
> blo <- c("I","II","III","IV")
> lb <- length(blo)
> trat <- c("a","b","c","d")
> lc <- length(trat)
> comb <- expand.grid(Tratameto = trat, Bloco = blo)
> ue <- sample(lc)
> for (k in 2:lb) ue <- c(ue,sample(lc))
> casdbc <- data.frame(comb, Unidade=ue)
> casdbc

6.4 Delineamento em Quadrado latino


Experimento com 3 fatores sem interação. Um fator (tratamentos) com t níveis, t2
parcelas que apresentam falta de homogeneidade em 2 sentidos, digamos linhas e colunas. Os
tratamentos são atribuídos às parcelas de forma sistemática tal que cada linha e cada coluna
tenham todos os tratamentos (ortogonalidade).

a) Modelo unifatorial: yijk = m +li + cj + tk(ij) + eijk , onde


yijk = valor observado na unidade experimental que recebeu o tratamento k (na linha i e
coluna j); m= efeito da média geral; li = efeito do linha i; cj = efeito do coluna j; tk(ij) = efeito do
tratamento k aplicado na linha i e coluna j; eijk = erro aleatório (resíduo).

b) Modelo fatorial: yijkl = m + ai +bj+(ab) ij+lk + Cl + eijkl , onde


yijk = valor observado na unidade experimental que recebeu o fator a i, fator b j, bloco k;
m= efeito geral da média; ai = efeito do fator a i; bj = efeito do fator b j; (ab) ij = efeito da
interação do fator a i com fator b j; lk = efeito do linha k; Cl= bloco l ;eijkl = erro aleatório
19

(resíduo).

- Casualização
> require(agricolae)
> trt <- c("A", "B", "C", "D")
> outdesign <- design.lsd(trt, kinds="Super-Duper")
> print(outdesign$sketch)

7 ESTATÍSTICA DESCRITIVA
São estatísticas que trazem informações sobre a posição, a dispersão e a distribuição de
um conjunto de valores numéricos.
As principais estatísticas descritivas são: Medidas de posição, Medidas de dispersão e
Medidas separatrizes.

a) Medidas de posição
São medidas que indicam um ponto em torno do qual se concentram os dados (a posição
dos dados na reta real R). Sejam x1, x2, x3, ..., xn, n valores numéricos.
- Média aritmética
> Mean(x)

- Mediana
> Median(x)

b) Medidas de dispersão
Como o próprio nome diz, são medidas que indicam quão dispersos encontram-se os
valores.
- Amplitude total
> At<- max(x) - min(x)
20

- Variância
>Var(x)

- Desvio Padrão
> sd(x)

- Coeficiente de variação
> cv <- function (z)(sd(z)/mean(z))*100
> cv (x)

c) Medidas separatrizes
São medidas que representam as posições dos valores do conjunto, dividindo-o em partes
iguais e podem ser: quartis, decis etc.
Os quartis dividem o conjunto de valores em quatro partes iguais, como mostra a Tabela a
seguir:
Tabela 2 - Descrição dos quartis.
Estatística Notação Interpretação
1º quartil q1 25% dos dados o precedem
2º quartil q2 = Mediana 50% dos dados o precedem
3º quartil q3 75% dos dados o precedem
A diferença (q3-q1) é denominada intervalo interquartílico.
> quantile(x)
> IQR(x)

d) Resumo geral
> Summary(x)

e) Medidas por fator


> tapply(y,x,mean)
> tapply(y,x,median)
> tapply(y,x,summary)
21

8 ESTATÍSTICA PARAMÉTRICA
Os dados são provenientes de um tipo de distribuição de probabilidade e faz inferências
sobre os parâmetros da distribuição.
Os pressupostos dos testes paramétricos são: distribuição normal, homogeneidade dos
dados e variáveis intervalares e contínuas.

- Distribuição Normal
> shapiro.test(y)

- Variância Homogênea
> bartlett.test(y~x)

- Diagrama de Caixa
> boxplot(y~x)
> plot(x,y)

8.1 Análise de variância


A análise de variância (ANOVA) testa a importância de um ou mais fatores comparando
as médias das variáveis de resposta em diferentes níveis dos fatores.

8.1.1 DIC
- Dados contidos no arquivo DIC.txt
> DIC<-read.table("DIC.txt",head=T,dec=",")
> attach(DIC)

- Definindo os tratamentos (qualitativos)


> TR<-factor(TR)

- Pressupostos dos testes paramétricos


> shapiro.test(Y)
22

> rtlett.test(Y~TR)
> boxplot(Y~TR)

- Definindo o modelo estatístico


> moddic <- lm (Y~TR)

- Análise de variância
> anova<-aov (moddic)
> summary(anova)

8.1.2 DBC
- Dados contidos no arquivo DBC.txt
> DBC<-read.table("DBC.txt",head=T,dec=",")
> attach(DBC)

- Definindo os tratamentos e os blocos (qualitativos)


> vari<-factor(vari)
> blo<-factor(blo)

- Pressupostos dos testes paramétricos


> shapiro.test(prod)
> bartlett.test(prod~vari)
> plot(vari,prod)

- Definindo o modelo estatístico


> moddbc<- lm (prod~blo+vari)

- Análise de variância
> anovadbc<-aov (moddbc)
> summary(anovadbc)
23

8.1.3 DQL
- Dados contidos no arquivo DQL.txt
> DQL<-read.table("DQL.txt",head=T,dec=",")
> attach(DQL)

- Definindo os tratamentos e os blocos (qualitativos)


> vari<-factor(vari)
> li<-factor(li)
> col<-factor(col)

- Pressupostos dos testes paramétricos


> shapiro.test(prod)
> bartlett.test(prod~vari)
> plot(vari,prod)

- Definindo o modelo estatístico


> moddql<- lm (prod~li+col+vari)

- Análise de variância
> anovadql<-aov (moddql)
> summary(anovadql)

8.2 Análise de comparações múltiplas de Tukey


Complemento para o estudo da análise de variância, quando o experimento apresenta
mais de dois fatores.

- DIC
> tukeydic<-TukeyHSD(anovadic)
> tukeydic
> plot(tukeydic)
24

- Removendo objetos
> detach(DIC)
> rm(list=ls(all=TRUE))

- DBC
> tukeydbc<-TukeyHSD(anovadbc)
> tukeydbc
> plot(tukeydbc)

- Removendo objetos
> detach(DBC)
> rm(list=ls(all=TRUE))

- DQL
> tukeydql<-TukeyHSD(anovadql)
> tukeydql
> plot(tukeydql)

- Removendo objetos
> detach(DQL)
> rm(list=ls(all=TRUE))

8.3 Regressão
Estudo da relação linear entre duas variáveis quantitativas. Regressão designa também
uma equação matemática que descreva a relação entre duas ou mais variáveis.
- Dados contidos no arquivo REG.txt
> REG<-read.table("REG.txt",head=T,dec=",")
> attach(REG)
> REG
25

- Pressupostos dos testes paramétricos


> shapiro.test(prod)
> bartlett.test(prod~trat)
> plot(trat,prod)

- Análise de correlação
> cor<-cor(trat,prod)
> cor

- Análise de variância entre modelos lineares


> anovareg<- aov(prod~I(trat)+I(trat^2) + I(trat^3))
> summary(anovareg)

- Modelo linear 1º grau


> reg1<- lm(prod~I(trat))
> summary(reg1)

- Modelo linear 2º grau


> reg2<-lm(prod~I(trat)+I(trat^2))
> summary(reg2)

- Modelo linear 3º grau


> reg3<-lm(prod~I(trat)+I(trat^2) + I(trat^3))
> summary(reg3)

- Gráfico de regressão linear 1º grau


> plot (trat,prod,xlab='Tratamentos', ylab='Produção', main='Gráfico Regressão')
> abline(reg1)
> legend(locator(1),c("Y=50,17+0,057X","R²=0,59"))
26

- Gráfico de regressão linear 2º grau


> plot (trat,prod,xlab='Tratamentos', ylab='Produção', main='Gráfico Regressão')
> curve(4.936e+01+8.113e-02*x-8.125e-05*x*x,add=T)
> legend(locator(1),c("Y=4,936e+01+8,113e-02X-8,125e-05X ","R²=0,60"))

- Gráfico de regressão linear 3º grau


> plot (trat,prod,xlab='Tratamentos', ylab='Produção', main='Gráfico Regressão')
> curve(4.950e+01+5.958e-02*x+1.250e-04*x*x-4.583e-07*x*x*x,add=T)
> legend(locator(1),c("Y=4,95e+01+5,95e-02X+1,25e-04X²-4,58e-07X³ ","R²=0,60"))
27

9 ANEXOS
9.1 Tarefas

MINISTÉRIO DA EDUCAÇÃO
UNIVERSIDADE FEDERAL DE SANTA MARIA
PRÓ-REITORIA DE GESTÃO DE PESSOAS
COORDENADORIA DE INGRESSO, MOBILIDADE E DESENVOLVIMENTO
NÚCLEO DE EDUCAÇÃO E DESENVOLVIMENTO
INTRODUÇÃO À ANÁLISE ESTATÍSTICA COM AMBIENTE R

TAREFA 1

Fazer um Script no R com os comandos para:


1.1 Criar um fator para Trat. e um vetor para Pesos:

Trat. 1 1 1 1 1 2 2 2 2 2
Pesos 37,4 36,9 37,8 36,0 37,3 37,8 39,6 36,9 37,8 38,5

1.2 Criar um “Data-frame” contendo Trat. e Pesos.


1.3 Salvar o Script com o nome tarefa1.R

TAREFA 2

2.1 Digitar no Excel os dados a seguir, uma variável por coluna e um registro por linha:
NOME PRATICA PROVA MEDIA
Bartolomeu Pereira 8,0 6,0 7,0
Custódio de Alvarenga 9,0 6,0 7,5
Gerônimo da Silva 6,0 4,0 5,0
José de Jesus 10,0 7,0 8,5
Maria Joaquina 8,0 5,0 6,5
Pedro de Abreu 9,0 3,0 6,0
Pietro Guarabira 10,0 8,0 9,0
Rosalina da Penha 7,0 4,0 5,5
Terencio Rodrrigues 7,0 9,0 8,0
Teresa Simão 9,0 4,0 6,5

2.2 Salvar o arquivo como arquivo ASC com o nome tarefa2.txt


2.3 Importar os dados disponíveis no arquivo tarefa2.txt
2.4 Salvar o Script com o nome tarefa2.R.
28

9.2 Arquivo DIC.TXT


TR RP Y
1 1 3,31
1 2 6,1
1 3 8,53
1 4 3,84
2 1 23,62
2 2 26,94
2 3 20,16
2 4 22,18
3 1 14,75
3 2 25,2
3 3 17,56
3 4 24,8
4 1 30,58
4 2 30,69
4 3 18,54
4 4 27,56
5 1 50,25
5 2 45,12
5 3 37,25
5 4 52,15
29

9.3 Arquivo DBC.TXT


vari blo prod
A I 25
B I 31
C I 22
D I 33
A II 26
B II 25
C II 26
D II 29
A III 20
B III 28
C III 28
D III 31
A IV 23
B IV 27
C IV 25
D IV 34
A V 21
B V 24
C V 29
D V 28
30

9.3 Arquivo DQL.TXT


li col vari prod
1 1 D 432
1 2 A 518
1 3 B 458
1 4 C 583
1 5 E 331
2 1 C 724
2 2 E 478
2 3 A 524
2 4 B 550
2 5 D 400
3 1 E 489
3 2 B 384
3 3 C 556
3 4 D 297
3 5 A 420
4 1 B 494
4 2 D 500
4 3 E 313
4 4 A 486
4 5 C 501
5 1 A 515
5 2 C 660
5 3 D 438
5 4 E 394
5 5 B 318
31

9.3 Arquivo REG.TXT


trat prod
0 49
0 47
0 52
0 50
100 53
100 58
100 52
100 62
200 62
200 52
200 74
200 63
300 72
300 68
300 58
300 67

Você também pode gostar