-
Notifications
You must be signed in to change notification settings - Fork 1
/
Exercícios para teste e ajuste de normalidade.R
47 lines (34 loc) · 1.61 KB
/
Exercícios para teste e ajuste de normalidade.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
## Curso Modelos de regressão no software R - Módulo 1 ##
## Resolução dos exercícios de teste de normalidade e remoção de outlier ##
## Exercício
## Faça o teste de normalidade e remoção de outlier para todas as variáveis
## Leitura dos dados
dados<-read.table("caminhododiretorio/Modelos de regressão no software R - Módulo 1/dados.csv",h=T,sep=",")
##Rodando teste de normalidade, curtose, simetria e homogeneidade de variância para todas as características
resultado<-list()
for(i in 3:ncol(dados))
{
require(e1071)
kur<-kurtosis(dados[,i], na.rm = TRUE,type=3)
ske<-skewness(dados[,i],type=1)
##Rodando o teste de Kolmogorov-Smirnov
kst<-ks.test(dados[,i],"pnorm")
##Rodando o teste de Shapiro-wilk
sht<-shapiro.test(dados[,i])
## Calculando teste de Bartlet
bt<-bartlett.test(dados[,i]~dados$Trat, dados)
## Montando o dataframe
resultado[[i]]<-data.frame(Característica=colnames(dados[i]),
Curtose=kur,Simetria=ske,
Kol_Teste=kst$p.value,Sha_Teste=sht$p.value,
Bar_Teste=bt$p.value)
}
resultado_final<-data.frame(do.call(rbind,resultado))
## Removendo outliers
dados[1,3]<-20
for(i in 3:ncol(dados))
{
dados[,i]<-ifelse(!dados[,i] %in% boxplot.stats(dados[,i])$out,dados[,i],NA)
}
write.table(resultado_final,"caminhododiretorio/Modelos de regressão no software R - Módulo 1/Teste_de_normalidade.csv",row.names=F, quote=F,sep=",")
write.table(dados,"caminhododiretorio/Modelos de regressão no software R - Módulo 1/dados_novo.csv",row.names=F,quote=F,sep=",")