ddplot <-
function(x)
{
# Makes a DD plot. cov.mcd is used for the RDi.
# Click left mouse button to identify points.
# Click right mouse button to end the function.
# Unix systems turn on graphics device eg enter
# command "X11()" or "motif()" before using.
# R users need to type "library(lqs)" before using.
p <- dim(x)[2]
center <- apply(x, 2, mean)
cov <- var(x)
md2 <- mahalanobis(x, center, cov)
out <- cov.mcd(x) # or use out <- cov.mve(x)
center <- out$center
cov <- out$cov
rd2 <- mahalanobis(x, center, cov)
# md is the classical and rd the robust distance
MD <- sqrt(md2)
rd <- sqrt(rd2)
#Scale the RD so the plot follows the 0-1 line
#if the data is multivariate normal.
const <- sqrt(qchisq(0.5, p))/median(rd)
RD <- const * rd
plot(MD, RD)
abline(0, 1)
identify(MD, RD) # list(MD = MD, RD = RD)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.