knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
Após a instalação do pacote é preciso ativa-lo. Para isso, deve-se utilizar a função library
ou require
library(MultivariateAnalysis)
Posteriormente, deve-se carregar no R o conjunto de dados a serem analizados. Isso pode ser feito de diferentes formas.
Uma possibilidade é utilizando a função read.table
. Neste exemplo vamos trabalhar com o banco de dados do pacote, o qual pode ser carregado com a função data
.
Este exemplo trata-se de dados binarios vindo do uso de marcadores moleculares em cinco individuos.
data("Dados.Misto") Dados.Misto
Muitas são as opções para a obtenção de medidas de dissimilaridade para dados mistos. Vamos apresentar aqui algumas possibilidades para analise.
Uma possibilidade quando se tem dados misto é o uso do índice de Gower.
#colocando nome nos individuos rownames(Dados.Misto)=paste0("T",1:nrow(Dados.Misto)) Gower1=Distancia(Dados.Misto,Metodo = 21) Gower1
Um problema desta metodologia, é que neste caso, quando as variáveis binárias (0 ou 1) indicando a presença ou ausência de bandas a informação 0-0 (ausencia de bandas em ambos os indivíduos) indica que os dois índivíduos são iguais, o que não é verdade necessáriamente. Caso queira desconsiderar essas informações (0-0) no cômputo da dissimilaridade, pode-se usar o "índice de Gower 2".
Essa medidada deve ser utilizada quando se tem variáveis binárias (0 ou 1) indicando a presença ou ausência de bandas. Neste caso, a informação 0-0 (ausencia de bandas em ambos os indivíduos) são desconsiderados no cômputo da dissimilaridade, raciocícnio similar ao indice de Jacard.
Gower2=Distancia(Dados.Misto,Metodo = 22) round(Gower2$Distancia,3)
Neste caso, vamos usar o índice de jacard para os dados binários, índice de discordância para os dados multicategóricos e distância euclidiana padronizada para os dados quantitativos.
#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
Os dados quantitativos podem ser transformados em qualitativos. Para isso, pode-se usar a funcao Quant2Quali
. Assim basta indicar o numero maximo de classes desejadas e a funcao demonstrará para cada individuo a classe que ele pertence. Essa classe é obtida considerando intervalos equidistantes entre o menor e maior valor de cada variavel, considerando-se o número de classes.
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
Agora, podemos considerar todos os dados como qualitativos e considerar o índice de discordancia com medida de dissimilaridade.
Metodo4=Distancia(Dados.Misto2,Metodo = 10) Metodo4
A fim de resumir as informações da matriz de dissimilaridade a fim de melhorar a visualização da dissimilaridade, pode-se fazer um Dendrograma com o auxilio da função Dendrograma
. Varios algoritimos podem ser utilizados para a construção deste Dendrograma. Para isso, deve-se indicar no argumento Metodo
:
1 = Ligacao simples (Metodo do vizinho mais proximo).
2 = Ligacao completa (Metodo do vizinho distante).
3 = Ligacao media entre grupo (UPGMA).
4 = Metodo de Ward.
5 = Metodo de ward (d2).
6= Metodo da mediana (WPGMC).
7= Metodo do centroide (UPGMC).
8 = Metodo mcquitty (WPGMA).
Dendrograma(Gower1,Metodo=3,Titulo="Gower1")
Dendrograma(Gower2,Metodo=3,Titulo="Gower2")
Dendrograma(Metodo3,Metodo=3,Titulo="Metodo3")
Dendrograma(Metodo4,Metodo=4,Titulo="Metodo4")
mat=cbind(Gower1=Gower1$Distancia,Gower2=Gower2$Distancia,Metodo3=Metodo3,Metodo4=Metodo4$Distancia) Cor=cor(mat) Cor
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")
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.