【发布时间】:2017-04-21 03:19:00
【问题描述】:
您好,我有一个名为 basic_plot() 的函数,如果变量 plot_function = TRUE,它将生成一个绘图,否则它返回 NULL。如下
plot_function = TRUE;
basic_plot = function() {
if(plot_function) {
par(mfrow = c(1,3))
plot(1:10,1:10,type = "o")
plot(10:1,1:10,type = "o")
plot(1:10,rep(5,10),type = "o")
} else {
NULL;
}
}
basic_plot();
应该生成一个带有填充一些线条的树面板的图。这个函数连同它所依赖的变量一起嵌入在其他一些代码中。我想知道的是,如果绘图已绘制,我如何判断 if() 语句?例如
if(is.null(basic_plot())) {
print("I haven't drawn the plot yet")
} else {
print("I have drawn the plot and want to do more stuff.")
}
上面的问题是,如果一个函数绘制一个图形,它被认为是空的。所以这永远不会知道我何时绘制情节,例如
plot_function = TRUE;
is.null(basic_plot())
[1] TRUE
plot_function = FALSE;
is.null(basic_plot())
[1] TRUE
真正的应用是在一个闪亮的应用程序中,但实际上认为这可能是一个通用的 R 查询。除了在 basic_plot() 函数中生成绘图之外,我无法返回任何内容(避免在绘制绘图后明显返回某些内容)。我希望 is.null() 有一个替代函数,比如这个函数有没有做某事?
干杯, C
【问题讨论】:
-
了解人们为什么对这个问题投反对票会很有用?所以我可以从中学习