Entering edit mode
Hello,
I have just noticed a small issue with plotMDS
in limma
v3.48.1 when trying to create a new MDS plot showing different dimensions, using a saved MDS object.
library(limma)
sd <- 0.3*sqrt(4/rchisq(1000,df=4))
x <- matrix(rnorm(1000*6,sd=sd),1000,6)
rownames(x) <- paste("Gene",1:1000)
x[1:50,4:6] <- x[1:50,4:6] + 2
mds1 <- plotMDS(x, col=c(rep("black",3), rep("red",3)) )
plotMDS(mds1, dim.plot = c(3, 4), col=c(rep("black",3), rep("red",3)) )
# Error in plotMDS.MDS(mds1, dim.plot = c(3, 4), col = c(rep("black", 3), :
# object 'mds' not found
I think that the problem is just that the variable mds
inside the plotMDS.MDS
function needs to be renamed to match the current function argument, x
.
Best regards,
Jamie.
function (x, labels = NULL, pch = NULL, cex = 1, dim.plot = NULL,
xlab = NULL, ylab = NULL, var.explained = TRUE, ...)
{
if (is.null(labels) & is.null(pch)) {
labels <- colnames(x$distance.matrix.squared)
if (is.null(labels))
labels <- 1:length(x$x)
}
if (is.null(dim.plot)) {
dim.plot <- x$dim.plot
}
else {
if (!identical(dim.plot, x$dim.plot)) {
x$dim.plot <- dim.plot
lambda <- pmax(x$eigen.values, 0)
i <- dim.plot[1]
mds$x <- mds$eigen.vectors[, i] * sqrt(lambda[i])
if (lambda[i] < 1e-13)
warning("dimension ", i, " is degenerate or all zero")
i <- dim.plot[2]
mds$y <- mds$eigen.vectors[, i] * sqrt(lambda[i])
if (lambda[i] < 1e-13)
warning("dimension ", i, " is degenerate or all zero")
}
}
# etc.
sessionInfo()
# R version 4.1.0 (2021-05-18)
# Platform: x86_64-apple-darwin17.0 (64-bit)
# Running under: macOS Mojave 10.14.6
#
# Matrix products: default
# BLAS: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRblas.dylib
# LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib
#
# locale:
# [1] en_AU.UTF-8/en_AU.UTF-8/en_AU.UTF-8/C/en_AU.UTF-8/en_AU.UTF-8
#
# attached base packages:
# [1] stats graphics grDevices utils datasets methods base
#
# other attached packages:
# [1] limma_3.48.1
#
# loaded via a namespace (and not attached):
# [1] compiler_4.1.0 tools_4.1.0
You're welcome. Thanks for the great package!