Pular para o conteúdo principal
Documentos
Compartir
LinkedIn
Facebook
Twitter
Copy
Gerenciamento de dados em REntrada de dados em RGráficos em RDocumentação RInterface REstatísticas em R

Escala multidimensional em R

O R fornece funções para escalonamento multidimensional clássico e não métrico. Suponha que tenhamos N objetos medidos em p variáveis numéricas. Queremos representar as distâncias entre os objetos de uma forma parcimoniosa (e visual) (ou seja, um espaço de dimensão k inferior).

MDS clássico

Você pode executar um MDS clássico usando a função cmdscale( ).

# Classical MDS
# N rows (objects) x p columns (variables)
# each row identified by a unique row name

d <- dist(mydata) # euclidean distances between the rows
fit <- cmdscale(d,eig=TRUE, k=2) # k is the number of dim
fit # view results

# plot solution
x <- fit$points[,1]
y <- fit$points[,2]
plot(x, y, xlab="Coordinate 1", ylab="Coordinate 2",
  main="Metric MDS", type="n")
text(x, y, labels = row.names(mydata), cex=.7)

mds clássico clique para ver

MDS não métrico

O MDS não métrico é realizado com a função isoMDS( ) do pacote MASS.

# Nonmetric MDS
# N rows (objects) x p columns (variables)
# each row identified by a unique row name

library(MASS)
d <- dist(mydata) # euclidean distances between the rows
fit <- isoMDS(d, k=2) # k is the number of dim
fit # view results

# plot solution
x <- fit$points[,1]
y <- fit$points[,2]
plot(x, y, xlab="Coordinate 1", ylab="Coordinate 2",
  main="Nonmetric MDS", type="n")
text(x, y, labels = row.names(mydata), cex=.7)

mds não métricos clique para visualizar

Escala de diferença individual

A escala de diferença individual ou de 3 vias pode ser concluída usando a função indscal() no pacote SensoMineR. O pacote smacof oferece uma análise de três vias das diferenças individuais com base na minimização do estresse dos meios de especialização.

Para praticar

Este tutorial sobre ggplot2 inclui exercícios sobre matrizes de distância e escalonamento multidimensional (MDS).