Rotina curso Multivariada

##################################################

##################################################

#Instalar/carregar o R

# library(MultivariateAnalysis)

install.packages("MultivariateAnalysis")

if(!require(MultivariateAnalysis,quietly = TRUE))install.packages("MultivariateAnalysis")




##################################################

##################################################

#Exemplo com dados Quantitativos

##################################################

##################################################

## -----------------------------------------------------------------------------

## -----------------------------------------------------------------------------

data("Dados.MED")

Dados.MED

## -----------------------------------------------------------------------------

#colocando nome nos individuos

rownames(Dados.MED)=paste0("T",1:nrow(Dados.MED))

Dist=Distancia(Dados.MED,Metodo = 5)

round(Dist$Distancia,3)

Dist

## -----------------------------------------------------------------------------

resumo=SummaryDistancia(Dist)

resumo

## -----------------------------------------------------------------------------

#Dendograma com o metodo UPGMA

Dendograma(Dist,Metodo=3)

## -----------------------------------------------------------------------------

#Dendograma com o metodo UPGMA

Tocher(Dist)

par(mar=c(5, 4, 4, 2) + 0.1)

## -----------------------------------------------------------------------------

#COp=CoordenadasPrincipais(Dist,main = "")

#Nao funciona na versao 0.3.0

#CoordenadasPrincipais(Dist,Dados = Dados.MED,Padronizar = TRUE,main="")

#ComponentesPrincipais(Dados.MED)



##################################################

##################################################

#Exemplo com dados binários

##################################################

##################################################

## -----------------------------------------------------------------------------

## -----------------------------------------------------------------------------

data("Dados.BIN")

Dados.BIN

## -----------------------------------------------------------------------------

#colocando nome nos individuos

rownames(Dados.BIN)=paste0("Indiv_",1:nrow(Dados.BIN))

Dist=Distancia(Dados.BIN,Metodo = 12)

Dist

Dist$Distancia

## -----------------------------------------------------------------------------

resumo=SummaryDistancia(Dist)

resumo

## -----------------------------------------------------------------------------

Dendograma(Dist,Metodo=3)

## -----------------------------------------------------------------------------

Tocher(Dist)

par(mar=c(5, 4, 4, 2) + 0.1)

## -----------------------------------------------------------------------------

#CoordenadasPrincipais(Dist) #Nao funciona na versao 0.3.0



##################################################

##################################################

#Exemplo com dados Multicategóricos

##################################################

##################################################

## -----------------------------------------------------------------------------

## -----------------------------------------------------------------------------

data("Dados.CAT")

Dados.CAT

## -----------------------------------------------------------------------------

#colocando nome nos individuos

rownames(Dados.CAT)=paste0("T",1:nrow(Dados.CAT))

Dist=Distancia(Dados.CAT,Metodo = 10)

Dist

round(Dist$Distancia,3)

## -----------------------------------------------------------------------------

resumo=SummaryDistancia(Dist)

resumo

## -----------------------------------------------------------------------------

Dendograma(Dist,Metodo=3)

## -----------------------------------------------------------------------------

Tocher(Dist)

par(mar=c(5, 4, 4, 2) + 0.1)

## -----------------------------------------------------------------------------

#CoordenadasPrincipais(Dist) #Nao funciona na versao 0.3.0



##################################################

##################################################

#Exemplo com dados Mistos

##################################################

##################################################

## -----------------------------------------------------------------------------

## -----------------------------------------------------------------------------

data("Dados.Misto")

Dados.Misto

## -----------------------------------------------------------------------------

#colocando nome nos individuos

rownames(Dados.Misto)=paste0("T",1:nrow(Dados.Misto))

Gower1=Distancia(Dados.Misto,Metodo = 21)

round(Gower1$Distancia,3)

## -----------------------------------------------------------------------------

#Gower2=Distancia(Dados.Misto,Metodo = 22) #Nao funciona na versao 0.3.0

#round(Gower2,3) #Nao funciona na versao 0.3.0


## -----------------------------------------------------------------------------

#Indice de jacard

#DistBin=Distancia(Dados.Misto[,c(1:5)],Metodo = 12)

#Indice de discordancia

#DistCat=Distancia(Dados.Misto[,c(8,9,11)],Metodo = 10)

#Distancia euclidiana padronizada

#DadosQanti=Distancia(Dados.Misto[,c(6,7,10)],Metodo = 5)


#Criando list com as matrizes

#dissimilaridades=list(DistBin,DistCat,DadosQanti)


#Calculando a media ponderada

#Metodo3=MediaDistancia(dissimilaridades,n=c(5,3,3))

#Metodo3


## -----------------------------------------------------------------------------

#DadosQuanti=Dados.Misto[,c(6,7,10)]

#DadosQuanti

#Mat=Quant2Quali(DadosQuanti,nclasses = 4)

#Mat


#Substituido nos dados os valores quatitativos por qualitativos

#Dados.Misto2=Dados.Misto

#Dados.Misto2[,c(6,7,10)]=Mat

#Dados.Misto2


## -----------------------------------------------------------------------------

#Metodo4=Distancia(Dados.Misto2,Metodo = 10)

#Metodo4

## -----------------------------------------------------------------------------

Dendograma(Gower1,Metodo=3)

## -----------------------------------------------------------------------------

#Dendograma(Gower2,Metodo=3,Titulo="Gower2")

## -----------------------------------------------------------------------------

#Dendograma(Metodo3,Metodo=3,Titulo="Metodo3")

## -----------------------------------------------------------------------------

#Dendograma(Metodo4,Metodo=4,Titulo="Metodo4")

## -----------------------------------------------------------------------------

#mat=cbind(Gower1=Gower1,Gower2=Gower2,Metodo3=Metodo3,Metodo4=Metodo4)

#Cor=cor(mat)


#mat=cbind(Gower1=Gower1,Gower2=Gower2,Metodo3=Metodo3,Metodo4=Metodo4)

#Cor=cor(mat)

#Cor


## -----------------------------------------------------------------------------

ComponentesPrincipais.Misto(Dados.Misto)

## -----------------------------------------------------------------------------

ComponentesPrincipais.Misto(Dados.Misto,plot = "individuos")

## -----------------------------------------------------------------------------

CPM=ComponentesPrincipais.Misto(Dados.Misto,plot = "nivel")

## -----------------------------------------------------------------------------

CPM=ComponentesPrincipais.Misto(Dados.Misto,plot = "correlacao")

## -----------------------------------------------------------------------------

CPM=ComponentesPrincipais.Misto(Dados.Misto,plot = "pesos")



##################################################

##################################################

#Exemplo com dados Qualitativos FMI

##################################################

##################################################

## -----------------------------------------------------------------------------

## -----------------------------------------------------------------------------

data("Dados.FMI.Quali")

head(Dados.FMI.Quali)


## -----------------------------------------------------------------------------

Fator=Dados.FMI.Quali$Tratamento

DadosQuali=Dados.FMI.Quali[,6:10]

Dados2=ApplyDissimilaridade(Dados = DadosQuali,Factor = Fator)

(head(Dados2))


## -----------------------------------------------------------------------------

#distancia euclidiana padronizada

Dist=Distancia(Dados2,Metodo = 4)


## -----------------------------------------------------------------------------

resumo=SummaryDistancia(Dist)

resumo


## -----------------------------------------------------------------------------

#Dendograma com o metodo UPGMA

Dendo=Dendograma(Dist,Metodo=3)

Dendo$SigCorrelCofenetica

Dendo$MojenaCorte


## -----------------------------------------------------------------------------

#Dendograma com o metodo UPGMA

To=Tocher(Dist)

To$Tocher$clusters

To$DistanciaIntraInterCluster

To$CorrelacaoCofenetica

par(mar=c(5, 4, 4, 2) + 0.1)

## -----------------------------------------------------------------------------

#CO=CoordenadasPrincipais(Dist) #Nao funciona na versao 0.3.0



##################################################

##################################################

#Exemplo com de experimento em DIC

##################################################

##################################################

## -----------------------------------------------------------------------------

## -----------------------------------------------------------------------------

data("Dados.DIC")

Dados.DIC


## -----------------------------------------------------------------------------

Res=MANOVA(Dados.DIC,Modelo=1)

Res


## -----------------------------------------------------------------------------

#colocando nome nos individuos

DadosMed=Res$Med

Dist=Distancia(DadosMed,Metodo = 7,Cov = Res$CovarianciaResidual)

Dist

round(Dist$Distancia,3)


## -----------------------------------------------------------------------------

resumo=SummaryDistancia(Dist)

resumo


## -----------------------------------------------------------------------------

#Dendograma com o metodo UPGMA

Dendo=Dendograma(Dist,Metodo=3)


## -----------------------------------------------------------------------------

#Dendograma com o metodo UPGMA

Tocher(Dist)

par(mar=c(5, 4, 4, 2) + 0.1)

## -----------------------------------------------------------------------------

ComponentesPrincipais(DadosMed,padronizar = TRUE)


## -----------------------------------------------------------------------------

VC=VariaveisCanonicas(Dados.DIC,Modelo = 1)


##################################################

##################################################

#Exemplo com de experimento em DBC

##################################################

##################################################

## -----------------------------------------------------------------------------

## -----------------------------------------------------------------------------

data("Dados.DBC")

head(Dados.DBC)


## -----------------------------------------------------------------------------

Res=MANOVA(Dados.DBC,Modelo=2)

Res


## -----------------------------------------------------------------------------

#colocando nome nos individuos

DadosMed=Res$Med

Dist=Distancia(DadosMed,Metodo = 7,Cov = Res$CovarianciaResidual)

Dist

round(Dist$Distancia,3)


## -----------------------------------------------------------------------------

resumo=SummaryDistancia(Dist)

resumo


## -----------------------------------------------------------------------------

#Dendograma com o metodo UPGMA

Dendograma(Dist,Metodo=3)


## -----------------------------------------------------------------------------

#Dendograma com o metodo UPGMA

Tocher(Dist)

par(mar=c(5, 4, 4, 2) + 0.1)

## -----------------------------------------------------------------------------

ComponentesPrincipais(DadosMed,padronizar = TRUE)


## -----------------------------------------------------------------------------

VariaveisCanonicas(Dados.DBC,Modelo = 2)



##################################################

##################################################

#Exemplo com de experimento em DBC com dados mistos

##################################################

##################################################


## -----------------------------------------------------------------------------

## -----------------------------------------------------------------------------

Dados.DBC.Misto=read.table("https://raw.githubusercontent.com/AlcineiAzevedo/dados/main/Dados.DBC.Misto.txt",h=T)

head(Dados.DBC.Misto)


## -----------------------------------------------------------------------------

Res=MANOVA(Dados.DBC.Misto[,1:5],Modelo=2)

Res


## -----------------------------------------------------------------------------

DadosMed=Res$Med

DistMaha=Distancia(DadosMed,Metodo = 7,Cov = Res$CovarianciaResidual)

DistMaha


## -----------------------------------------------------------------------------

resumo=SummaryDistancia(DistMaha)

resumo


## -----------------------------------------------------------------------------

Dadosquali=Dados.DBC.Misto[,6:11]


#Excluindo os valores NA

id=is.na(Dadosquali$CorFolha)==FALSE

Dadosquali2=Dadosquali[id,]

#Colocando o nome dos tratamentos na matriz

rownames(Dadosquali2)=Dados.DBC.Misto[id,1]



Distquali=Distancia(Dadosquali2,Metodo = 10)

Distquali


## -----------------------------------------------------------------------------


#Criando list com as matrizes

#dissimilaridades=list(DistMaha,Distquali)

#n=c(ncol(DadosMed),ncol(Dadosquali2))

#Calculando a media ponderada

#DistMisto=MediaDistancia(dissimilaridades,n)

#DistMisto


#Calculando a media ponderada

DistMisto=MediaDistancia(list(DistMaha,Distquali),c(ncol(DadosMed),ncol(Dadosquali2)))

DistMisto


## -----------------------------------------------------------------------------

#Dendograma com o metodo UPGMA

Dendograma(DistMaha,Metodo=3)


## -----------------------------------------------------------------------------

Dendograma(Distquali,Metodo=3)


cor(cbind(DistMaha$Distancia,Distquali$Distancia,DistMisto))

CorrelacaoMantel(DistMaha,DistMisto)




##################################################

##################################################

#Exemplo com de experimento em esquema fatorial (DBC)

##################################################

##################################################


## -----------------------------------------------------------------------------

## -----------------------------------------------------------------------------

data("Dados.Fat2.DBC")

head(Dados.Fat2.DBC)


## -----------------------------------------------------------------------------

Res=MANOVA(Dados.Fat2.DBC,Modelo=5)

Res


## -----------------------------------------------------------------------------

#Carregando a média dos tratamentos

DadosMed=Res$Med

head(DadosMed)

Dist=Distancia(DadosMed,Metodo = 7,Cov = Res$CovarianciaResidual)



## -----------------------------------------------------------------------------

resumo=SummaryDistancia(Dist)

resumo


## -----------------------------------------------------------------------------

#Dendograma com o metodo UPGMA

Dendo=Dendograma(Dist,Metodo=3)


## -----------------------------------------------------------------------------

To=Tocher(Dist)

To$Tocher

par(mar=c(5, 4, 4, 2) + 0.1)

## -----------------------------------------------------------------------------

CP=ComponentesPrincipais(DadosMed,padronizar = TRUE)


## -----------------------------------------------------------------------------

VC=VariaveisCanonicas(Dados.Fat2.DBC,Modelo = 5,Fator = "A:B")


## -----------------------------------------------------------------------------

VC=VariaveisCanonicas(Dados.Fat2.DBC,Modelo = 5,Fator = "A")

VC=VariaveisCanonicas(Dados.Fat2.DBC,Modelo = 5,Fator = "B")