# NOT RUN {
iris.cmd <- cmdscale(dist(iris[, -5]))
plot(iris.cmd, xlab="Dim 1", ylab="Dim 2")
Biarrows(iris.cmd, iris[, -5])
title(main="MDS biplot with Biarrows()")
# ===
library(MASS)
iris.mds <- isoMDS(dist(iris[, -5]) + 1e-9)
plot(iris.mds$points, xlab="Dim 1", ylab="Dim 2")
Biarrows(iris.mds$points, iris[, -5])
title(main="Non-metric MDS biplot with Biarrows()")
# ===
library(MASS)
iris.smm <- sammon(dist(iris[, -5]) + 1e-9)
plot(iris.smm$points, xlab="Dim 1", ylab="Dim 2")
Biarrows(iris.smm$points, iris[, -5])
title(main="Sammon mapping biplot with Biarrows()")
# ===
iris.p <- prcomp(iris[, -5], scale=TRUE)
biplot(iris.p, xpd=TRUE, main="Original PCA biplot")
plot(iris.p$x)
Biarrows(iris.p$x, iris[, -5])
title(main="PCA biplot with Biarrows()")
# ===
plot(iris.p$x, xlab="PCA1", ylab="PCA2")
## how to use 'coeffs'
## they also useful as surrogates of variable importances
(coeffs <- cor(iris[, -5], iris.p$x, method="spearman"))
Biarrows(iris.p$x, tx=rownames(coeffs), coeffs=coeffs)
# ===
plot(scale(iris[, c(1, 3)]))
Biarrows(scale(iris[, c(1, 3)]), iris.p$x)
title(main="\"Reversed biplot\"")
# ===
plot(scale(iris[, c(1, 3)]))
Biarrows(scale(iris[, c(1, 3)]), iris[, c(2, 4)])
title(main="Iris flowers: lengths vs. widths")
# ===
plot(iris.p$x)
Biarrows(iris.p$x[, 1:2], iris.p$x[, 1:2])
title(main="\"Self-biplot\" on PCA")
# ===
plot(iris.mds$points, xlab="Dim 1", ylab="Dim 2")
Biarrows(iris.mds$points, iris[, -5], ar.col=0, pt.pch=4, tx.pos=3)
Biarrows(iris.mds$points, iris.p$x[, 1:2], ar.col="#962333", tx.col="#962333")
title(main="Triplot: MDS, PCA and original variables")
# ===
library(MASS)
iris.ldap <- predict(lda(Species ~ ., data=iris), iris[, -5])
plot(iris.ldap$x)
Biarrows(iris.ldap$x, iris[, -5])
Biarrows(iris.ldap$x, iris.p$x[, 1:2], shift=c(9, 2.5),
shrink=0.95, lty=2, ar.col="darkgrey", tx.col="darkgrey")
title(main="Triplot: LDA, original variables and PCA axes")
# }
Run the code above in your browser using DataLab