-
Notifications
You must be signed in to change notification settings - Fork 1
/
Análise de correlação.R
95 lines (73 loc) · 3.07 KB
/
Análise de correlação.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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
## Curso Modelos de regressão no software R - Módulo 1 ##
## Análise de correlação ##
## Leitura dos dados
dados<-read.table("C:/Users/Mateus/Desktop/Curso de regressão no R/DADOS TUBERCULOSE/dados-all.csv",h=T,sep=";")
## Vizualisando dados
library("ggpubr")
ggscatter(dados, x = "GTA", y = "Tuberculosis.categórica",
add = "reg.line", conf.int = TRUE,
cor.coef = TRUE, cor.method = "pearson",
xlab = "GTA", ylab = "Tuberculose")
## Testes preliminares
## Teste de normalidade de Shapiro-Wilk para normalidade
shapiro.test(dados$PROD)
## Análise visual de normalidade dos dados
ggqqplot(dados$PROD, ylab = "Produtividade em sacos por hectare")
##Trabalhando com arquivo de dados completo
## Correlação de Pearson
cor(dados$PROD,dados$Trat, method = "pearson")
cor.test(dados$PROD,dados$Trat, method = "pearson")
cor(dados,dados, method = "pearson")
cor.test(dados,dados, method = "pearson")
# aqui dá erro pq nao roda pra matriz inteira o cor.test tem que fazer par a par
## Correlação de Spearman
cor(dados$PROD,dados$Trat, method = "spearman")
cor.test(dados$PROD,dados$Trat, method = "spearman")
cor(dados,dados, method = "spearman")
cor.test(dados,dados, method = "spearman")
# spearman rankea os valores do menor para o maior
# so faz sentido utilizar se é legal rankear os valores
# calcular o valor de p para todas as variaveis juntas: #p-value
# cor.mtest <- function(mat, ...) {
# mat <- as.matrix(mat)
# n <- ncol(mat)
# p.mat<- matrix(NA, n, n)
# diag(p.mat) <- 0
# for (i in 1:(n - 1)) {
# for (j in (i + 1):n) {
# tmp <- cor.test(mat[, i], mat[, j], ...)
# p.mat[i, j] <- p.mat[j, i] <- tmp$p.value
# }
# }
# colnames(p.mat) <- rownames(p.mat) <- colnames(mat)
# p.mat
# }
# p.mat
#p.mat <- cor.mtest(test)
# dim(p.mat)
# Pearson era para dados paramétricos e Spearman para dados não paramétricos
##Trabalhando com arquivo de média de tratamento
dados1<-aggregate(x = dados[3:ncol(dados)], by = list(Trat=dados$Trat), FUN = mean)
## Vizualisando dados
ggscatter(dados1, x = "Trat", y = "PROD",
add = "reg.line", conf.int = TRUE,
cor.coef = TRUE, cor.method = "pearson",
xlab = "Tratamento", ylab = "PROD")
## Testes pre liminares
## Teste de normalidade de Shapiro-Wilk para normalidade
shapiro.test(dados1$PROD)
## Análise visual de normalidade dos dados
ggqqplot(dados1$PROD, ylab = "Produtividade em sacos por hectare")
## Correlação de Pearson
cor(dados1$PROD,dados1$Trat, method = "pearson")
cor.test(dados1$PROD,dados1$Trat, method = "pearson")
cor(dados1,dados1, method = "pearson")
cor.test(dados1,dados1, method = "pearson")
## Correlação de Spearman
cor(dados1$PROD,dados1$Trat, method = "spearman")
cor.test(dados1$PROD,dados1$Trat, method = "spearman")
cor(dados1,dados1, method = "spearman")
cor.test(dados1,dados1, method = "spearman")
## Exercício
## Faça todos os gráficos e cálculo dos teste de correlação para todas as combinações de variáveis
## Salve os resultados em uma pasta