在函数中使用levelplot的行为非常奇怪:
> foo <- function() { require(lattice); levelplot(matrix(rnorm(100),10,10)) }
> bar <- function() { require(lattice); levelplot(matrix(rnorm(100),10,10)); return(1) }
> foo() ## graph gets generated
Loading required package: lattice
> graphics.off()
> bar() ## NO GRAPH GETS GENERATED
[1] 1foo()按预期工作,bar()不生成任何图。有什么想法吗?
发布于 2013-12-04 02:08:21
默认情况下,该函数返回最后生成的对象。在function foo中,这是图。在函数bar中,它是1。
如果要生成打印并返回另一个对象,则必须使用print创建打印。
bar <- function() {
require(lattice);
print(levelplot(matrix(rnorm(100),10,10)));
return(1) }当您调用bar()时,将创建绘图并返回1。
https://stackoverflow.com/questions/20358339
复制相似问题