2017-02-23 66 views
0

我正在使用R软件包“GeoDE”。当我使用函数“chdirAnalysis”时,会自动绘制一个图形,因为在“chdirAnalysis”的源代码中有一个命令“plot”。但我不想那样。我怎样才能阻止呢?从R软件包中隐藏功能图

类似的问题是隐藏在函数打印的消息,我已经找到了解决办法是使用隐形

capture.output(value <- function_name(input)) 

这可以帮助隐藏“函数名”的输出,但这种解决方案在剧情上不起作用。

回答

2

选项:

  1. 问维护者的plot=FALSE选项添加到函数(也许verbose=FALSE选项停止文本输出)。

  2. 编辑chdirAnalysis的源代码并删除进行绘图的函数调用,或将其隐藏在新的plot=FALSE选项后面。我认为这是chdirplots,它被调用,但对返回值没有任何作用。如果您在GeoDE包源外进行此操作,则需要将GeoDE:::前缀添加到由chdirAnalysis(如chdirSig)调用的任何未导出的GeoDE函数中。

  3. 将其绘制成某些虚拟或一次性图形设备文件,如其他问题和答案中所述。

+0

谢谢@Spacedman。我会以“1”的身份执行此操作。对于2,这非常有帮助。由于我试图在代码中粘贴'chdirAnalysis'的定义,并通过删除绘图部分来修改'chdirAnalysis'的定义,但由于它会调用包'chdirSig'中的另一个函数,所以我必须将该函数的定义粘贴到我的代码中。但'GeoDE :::'完美地解决了这个问题! 3,对不起,但我不明白。 – XiaokangZH

+0

(3)正在做类似于'pdf(file =“/ dev/null”)''的东西,它打开一个图形设备,将其输出发送到一个PDF文件(在Linux/Unix上)。你甚至可以把它发送到一个真实的文件,如't = tempfile(); pdf(file = t); doplotstuff(...); dev.off(); file.remove(t)'并且不会在屏幕上显示。 – Spacedman

+0

了解到新的东西。谢谢! – XiaokangZH