【发布时间】:2014-07-15 23:59:49
【问题描述】:
我正在尝试关闭 R 中的绘图显示。
我阅读了Disable GUI, graphics devices in R,但给出的唯一解决方案是将绘图写入文件。
如果我不想污染工作区,如果我没有写权限怎么办?
我试过options(device=NULL),但没用。
上下文是包NbClust :我想要NbClust() 返回的内容,但我不想显示它的情节。
提前致谢!
编辑:这是一个使用来自rattle包的数据的可重复示例:)
data(wine, package="rattle")
df <- scale (wine[-1])
library(NbClust)
# This produces a graph output which I don't want
nc <- NbClust(df, min.nc=2, max.nc=15, method="kmeans")
# This is the plot I want ;)
barplot(table(nc$Best.n[1,]),
xlab="Numer of Clusters", ylab="Number of Criteria",
main="Number of Clusters Chosen by 26 Criteria")
【问题讨论】:
-
举一个可重现的例子。当我在
help(NbClust)中运行第一个示例时,NbClust不会生成图表 -
您是否有权使用
tempfile()创建临时文件? -
我在一个可重现的示例中进行了编辑 :) 我刚刚查看了 tempfile(),谢谢!写入 tmp 目录似乎是关闭绘图显示的一个不错的选择。
-
这台机器是什么操作系统?你能写到 NULL 设备(windows 中的 NUL 或 linux 中的 /dev/null 吗?)如果是,那么你可以直接在那里输出。
-
生成图表而不提供不生成图表的选项非常糟糕。我会要求开发人员提供
plot=FALSE选项。