我在R(特定limma::plotMDS)中使用了一个函数,它生成一个绘图并返回一个有用的值.我想获得返回值而不生成绘图.是否有一种简单的方法来调用函数但是抑制它创建的图?
您可以像这样包装函数调用:
plotMDS.invisible <- function(...){
ff <- tempfile()
png(filename=ff)
res <- plotMDS(...)
dev.off()
unlink(ff)
res
}
Run Code Online (Sandbox Code Playgroud)
通话示例:
x <- matrix(rnorm(1000*6,sd=0.5),1000,6)
rownames(x) <- paste("Gene",1:1000)
x[1:50,4:6] <- x[1:50,4:6] + 2
# without labels, indexes of samples are plotted.
mds <- plotMDS.invisible(x, col=c(rep("black",3), rep("red",3)) )
Run Code Online (Sandbox Code Playgroud)