Escolar Documentos
Profissional Documentos
Cultura Documentos
Malheiros
c) Ambientes de trabalho
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 opo: Arquivo / Novo Script.
b) Para abrir um Script disponvel use a opo: Arquivo / Abrir Script.
c) Para navegar pelas janelas Console e Script ou escolher a forma de visualiz-las
simultaneamente, use a opo: Janelas.
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 opo de menu:
Editar / Executar. A vantagem dessa forma de trabalho que a janela Script pode ser
salva a qualquer momento (Para salvar, a extenso do nome do arquivo deve ser .R).
d) Diretrios de trabalho
Observao: As barras utilizadas na descrio de caminhos de diretrios no R so
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 diretrio de trabalho (default), use:
Sintaxe: > getwd()
Para alterar o diretrio de trabalho, use:
Sintaxe: > setwd(Caminho)
Ou, na opo de menu: Arquivo / Mudar Diretrio
Para criar um diretrio pelo R, use:
Sintaxe: > dir.create(Caminho)
Para visualizar o contedo de um diretrio:
- um diretrio qualquer:
Sintaxe: > dir(Nome_do_Diretrio)
Exemplo: dir(C:/)
- diretrio de trabalho
Sintaxe: > dir() ou > list.files()
Exemplo:
Veja qual o diretrio de trabalho (default)..........................> getwd()
Crie uma pasta de trabalho em C:\, com o nome EEAR........> dir.create(C:/EEAR)
Defina esta pasta como a pasta de trabalho...........................> setwd(C:/EEAR)
Visualize o contedo do diretrio de trabalho.......................> dir()
Veja qual o diretrio de trabalho.........................................> getwd()
1.2. Pacotes no R
Pacotes (packeges) ou bibliotecas (library) so conjuntos de funes, exemplos, e
documentaes desenvolvidas para determinadas tarefas. No R podem-se encontrar
pacotes desenvolvidos pelos responsveis pelo R ou implementados por usurios.
Exemplos:
> mode(x); mode(nome); mode(y); mode(res);
> is.numeric(x); is.complex(x); is.character(nome); is.logical(res)
Departamento de Cincias Exatas
FCAV / UNESP campus de Jaboticabal
f) 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 so as
variveis (vetores ou fatores) e as linhas os registros (atributos variados de acordo com a
coluna).
Exemplos: Um experimento com 2 tratamentos e 5 repeties, obteve-se os Pesos:
Tratamento
1
2
1
25,5
31,6
Repetio
3
24,1
29,3
2
28,4
30,5
4
27,5
31,1
5
26,3
29,4
Neste caso, os dados teriam que ser organizados com trs colunas: Tratamento,
Repetio e Pesos, sendo Tratamento e Repetio como fatores e Peso como vetor. Os
dados precisam ser organizados da forma:
tr
1
1
1
1
1
2
2
2
2
2
rp
1
2
3
4
5
1
2
3
4
5
peso
25,5
28,4
24,1
27,5
26,3
31,6
30,5
29,3
31,1
29,4
Criando o data.frame.
> tr <- gl(2,5)
> rp <- c(1:5,1:5)
> 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)
1
35,0
40,0
39,0
2
19,0
35,0
27,0
Rep
3
31,0
46,0
20,0
4
15,0
41,0
29,0
5
30,0
33,0
45,0
mode(df1$rep);
class(df1$rep);
Valores perdidos:
Supondo que a terceira repetio do tratamento 1 tenha sido perdida:
> yc <- c(35, 19, NA, 15, 30, 40, 35, 46, 41, 33, 39, 27, 20, 29, 45); yc
> mode(yc); mean(yc); mean(yc,na.rm=T)
# na.rm=T informa para executar a funo desconsiderando os valores perdidos.
b) Importando arquivo txt (ASCII)
Sintaxe (Script: Imp_txt.R)
nome <- read.table("arquivo_txt", [header=T], [dec=","])
onde:
nome
arquivo_txt
[header=T]
[dec=","]
nome do data.frame
nome do arquivo txt, com caminho completo.
Usar se os nomes das colunas (variveis) do data.frame sero os
cabealhos das colunas no arquivo .txt. Caso contrrio o R assume os
nomes V1, V2, ..... (Variable 1, Variable 2, ...)
Usar se o separador de decimais for a vrgula ( , ). No usar se forem
pontos.
Exemplo:
b1) crie um arquivo Excel e um arquivo ASC com os dados da Tabela 1. Salve na
pasta C:\EEAR, com os nomes A_exemplo.xls e A_Exemplo.txt,
respectivamente (O arquivo A_exemplo.xls encontra-se disponvel no site).
b2) Importe o arquivo.
> dftxt <- read.table("C:/EEAR/a_exemplo.txt", header=T, dec=",")
> dftxt
b3) Visualize a classe e atributo do arquivo criado
> class(dftxt); mode(dftxt)
> class(dftxt[1]); mode(dftxt[1]); class(dftxt[2]); mode(dftxt[2])
c) Importando arquivo Excel
Para importar arquivos do Excel necessrio que o pacote RODBC esteja instalado e
carregado (requerido).
Sintaxe (Script: Imp.xls.R):
install.packages("RODBC")
require(RODBC)
con=odbcConnectExcel[2]("arquivo_excel")
nome=sqlQuery(con,"select * from\"planilha$\" ")
[odbcClose(con)]
onde:
con
o nome da conexo com o arquivo, feita pelo odbcConnectExcel
[2]
Usar se for o Excel 2007. Se no usar considera versos anteriores.
arquivo_excel nome do arquivo excel, com caminho completo
nome nome do data.frame
planilha nome da planilha a ser importada
[odbcClose(con)] Usar para fechar a conexo sem o que, no possvel
trabalhar na planilha.
Exemplo:
c1) Crie um arquivo excel com os dados da Tabela 1 e salve-o no caminho:
C:\EEAR, com o nome do arquivo A_EXEMPLO.xls, e nome da planilha p1
(disponvel no site).
c2) Importe o arquivo usando:
> install.packages("RODBC")
> require(RODBC)
> con_ex=odbcConnectExcel("C:/EEAR/a_exemplo.xls")
> dfxls=sqlQuery(con_ex,"select * from\"p1$\" ")
> odbcClose(con_ex)
c3) verificar a classe e atributos do arquivo criado e das colunas do data.frame
> class(dfxls); mode(dfxls); class(dfxls$tr); mode(dfxls$rp)
> class(dfxls$rp); mode(dfxls$rp); class(dfxls$y); mode(dfxls$y)
Comando attach
Este comando usado para separar as variveis de um data-frame.
O data-frame arqxls tem as colunas tr, rp e y
Para separ-las pode-se usar uma das opes:
a)
tr <- arqxls[,1]; rp <- arqxls[,2]; y <- arqxls[,3]; tr; rp; y
ou
b)
attach(arqxls)
tr; class(tr); rp; class(rp); y; class(y)
mesmas colunas.
Departamento de Cincias Exatas
FCAV / UNESP campus de Jaboticabal
2. ESTATSTICAS DESCRITIVAS
So estatsticas que trazem informaes sobre a posio, a disperso e a distribuio de
um conjunto de valores numricos.
As principais estatsticas descritivas so: Medidas de posio, Medidas de disperso e
Medidas separatrizes.
A maioria dos softwares estatsticos tem um mdulo que apresenta um conjunto dessas
estatsticas.
a) Medidas de posio
So medidas que indicam um ponto em torno do qual se concentram os dados (a posio
dos dados na reta real R). Sejam x1, x2, x3, ..., xn, n valores numricos.
As medidas de posio mais usuais so:
Mdia aritmtica
A mdia aritmtica, indicada por m ou
, definida por:
xi
i 1
n
Se os valores xi, i=1, 2, ..., k (k<n) ocorrem com freqncias fi, i=1, 2, ..., k,
respectivamente, ento a mdia aritmtica pode ser obtida por:
k
f i xi
i 1
k
fi
i 1
Mediana
A mediana o valor central do conjunto de valores (se n mpar, o valor central dos
valores organizados em ordem crescente ou decrescente, se n for par, ou a mdia dos
dois centrais.
A mediana tal que 50% dos valores a precedem e 50% a sucedem.
Moda
A moda o valor que ocorre com maior freqncia. A moda pode no existir ou no ser
nica.
Mdia aritmtica ponderada
Se aos n valores associam-se fatores de ponderao ou pesos w1, w2, w3, ..., wn,
respectivamente, a mdia aritmtica ponderada definida como:
n
wi xi
i 1
n
wi
i 1
S
2
Desvio Padro
a raiz quadrada da varincia, geralmente denotada por s ( s s 2 ).
Coeficiente de variao
uma medida de disperso relativa. representado por CV e definido como:
CV
100 s
x
Interpretao
25% dos dados so valores o precedem
50% dos dados so valores o precedem
75% dos dados so valores o precedem
, onde dp=desvio
Para usar a funo basta colocar seu nome, seguido da varivel para a qual deseja
aplicar a funo (no caso x). No caso: > epm(x)
Obter as estatsticas descritivas definidas na funo EstDesc - disponvel no site, para x.
a) Abrir a janela Script e copiar a funo nesta janela;
b) executar os comandos da funo;
c) aplicar para o vetor x. > est_desc(x).
Script da funo para Estatsticas Descritivas: (S_EstDesc.R)
require(agricolae)
est_desc = function(v) {
42,75 39,25 45,25 41,05 41,45 43,25 40,25 37,35 41,25 42,25 43,25 38,25
42,25 39,35 45,25 41,15 41,25 43,15 40,15 39,15 41,35 42,15 43,25 58,45
a) Digite os dados no Excel, planilha dados, e salve na pasta de trabalho com o nome
A_GD.xls. Salve como arquivo ASC com o nome A_GD.txt (obs.: Encontra-se no
site).
b) Importe os dados (A_GD.txt) no R.
c) Faa os grficos de diagnsticos: Histograma, boxplot, ramos e folhas e de
normalidade, para as variveis Y1 e Y2.
Soluo:
> arqgd <- read.table("C:/EEAR/A_GD.txt", header=T, dec=",")
> arqgd; mode(arqgd)
> y1 <- arqgd[,1]; y1
> y2 <- arqgd[,2]; y2
> hist(y1)
> boxplot(y1)
> stem(y1)
> qqnorm(y1); qqline(y1)
> hist(y2)
> boxplot(y2)
> stem(y2)
Departamento de Cincias Exatas
FCAV / UNESP campus de Jaboticabal
n -1 graus de liberdade.
Passo 3. Fixando-se =0,05 (5%), tem-se pela tabela da distribuio t (ANEXO 1):
2,5%
2,5%
2,064
Regio Crtica (Regio de rejeio de H0) = (-, -2,064) (2,064,+).
Passo 4.
TC
31,5 30
3,43
= 4,050
25
y1
70,00
67,10
71,00
72,00
73,00
68,00
69,00
69,90
70,10
71,00
74,00
72,00
72,00
69,10
75,00
70,90
71,00
72,90
y2
69,90
37,00
71,10
71,90
73,00
68,20
68,90
70,00
70,00
71,10
74,00
72,00
## Item b)
attach(edtn);y1;y2
media=mean(y1); media
mediana=quantile(y1,0.50); mediana
variancia=var(y1); variancia
desv_padr=sd(y1); desv_padr
q123=quantile(y1); q123
## Item c)
#Carregar na funo est_desc, selecionar os comandos e executar
est_desc(y1)
est_desc(y1)
## Item d)
par(mfrow=c(1,2))
hist(y1); hist(y2)
boxplot(y1); boxplot(y2)
qqnorm(y1); qqline(y1); qqnorm(y2); qqline(y2)
## Item e)
shapiro.test(y1); shapiro.test(y2)
# os prximos testes precisam do pacote nortest
install.packages("nortest"); require(nortest)
lillie.test(y1); lillie.test(y2)
cvm.test(y1); cvm.test(y2)
ad.test(y1); ad.test(y2)
## Item f)
## f.1) - Editando no R
y2
# observe que o outlier a observao nmero 8
y2c <- y2; y2c[8] <- NA; y2c
boxplot(y2c)
cvm.test(y2c)
## f.2) - Editando no Excel
odbcClose(con)
# se a conexo no foi fechada
edtnc<-edit(edtn)
# edita-se o(s) valor(es) - substitua os volores a serem
retirados por NA e fecha a planilha
boxplot(edtnc[,2])
cvm.test(edtnc[,2])
## Item g)
Salvar o Script com o nome ExTN.R
[alternative=two.sided
O teste sigma para a varincia de uma amostra faz parte do pacote TeachingDemos,
(precisa instal-lo e requer-lo).
Sintaxe:
"less"],
amostra,
v1<>v2,
nvel de
14,8
14,7
14,4
15,6
15,1
14,8
14,9
15,0
14,7
14,4
15,3
15,7
14,7
14,6
14,7
14,4
15,1
15,2
14,5
14,9
16,2
14,8
14,8
14,9
14,5
14,8
14,9
15,2
14,5
15,0
15,4
15,7
14,1
15,8
15,3
15,0
14,1
14,7
15,4
15,0
15,1
14,1
14,9
15,3
15,1
15,8
14,8
15,4
15,5
15,1
6. Um produtor afirma que 60% dos peixes pesam mais que 1kg. O comprador quis
testar a hiptese do vendedor e tomou uma amostra de 200 peixes, dos quais 104
pesaram mais de 1kg. Fazer um teste de hipteses para testar as hipteses: H 0:
p>60% vs H1: p<60% (=0,05). Teste para proporo (uma amostra)
Resoluo:
Hiptese testadas: H0: p>60% vs H1: p<60%, Nvel de significncia: =0,05.
> prop.test(104,200,p=0.6, alternative="l", conf.level=0.90)
ou
> binom.test(104,200,p=0.6, alternative="l", conf.level=0.90)
Concluso:
7. Para testar se a proporo de novilhas de uma fazenda F1 a mesma que na fazenda
F2, o agricultor tomou uma amostra de tamanho 100 na F1 - obteve 25 novilhas, e
uma amostra de tamanho 120 na F2 obteve 45 novilhas. Fazer um teste de
hipteses para testar as hipteses: H0: p1=p2 vs H1: p1p2 (=0,05). Teste para
propores (duas amostras)
Resoluo: Usando a normal aproximada).
> prop.test(c(25,45),c(100,120), alternative=t, conf.level=0.95)
Concluso:
a) Teste Qui-quadrado:
Sintaxe:
chisq.test(x[, y])[$expected]
onde: x se x for a matriz da tabela de contingncia; ou x, y se x e y so os registros
(fatores)
$expected para mostrar a tabela dos valores esperados, caso os fatores da tabela
forem independentes.
Espcies
E1
E2
E3
E4
Presena da doena
Sim
No
25
90
180
230
2
25
4
8
Resoluo:
> mx <- matrix(c(25,90,180,230,2,25,4,8), ncol=2, byrow=T); mx
> chisq.test(mx)
> chisq.test(mx)$expected
Como a pressuposio para o teste qui-quadrado no foi satisfeita, analisamos os dados
pelo Teste Exato de Fisher.
> fisher.test(mx)
Concluso:
Comando plot
legend("posio",title="ttulo_legenda",legend=levels(tr), [col=cor |
nnero_da_cor] [pch=smbolo | nmero_do_smbolo],
[lwd=nmero_espessura_da_linha], [lty=efeito_da_linha]
1
10
12
13.1
2
11
12.1
13
3
11
12.5
12.9
4
11.5
12.3
12.5
Semanas
5
6
12
11
12.4
13
11.7 12.5
7
12.3
13.1
11.5
8
12.5
12.9
11
9
12.3
13.1
10.5
10
12.5
13.4
10
Editar o grfico:
12
10
8
6
Produo
14
16
Grfico de dispeso
6
Semanas
10
# configurando eixos
> abline(h=seq(6,16,2),v=seq(1,10,1),lty=3,col="gray")
# linhas de grade
# linha y1
# linha y2
# linha y3