【发布时间】:2013-02-27 16:14:38
【问题描述】:
我已经使用plot 有一段时间了,我想知道如果 type 参数可以覆盖分类预测变量会破坏多少。现在 plot 总是在 x 变量是一个因素时尝试箱线图。似乎 plot.factor 方法总是被调用。如果 type 可以覆盖该功能并且我不必将 x 轴设为数字,将其隐藏,然后稍后再添加,那就太好了。我对包装函数不感兴趣,因为我几乎只是描述了如何做到这一点。我只是想知道是否有一个我错过的plot 参数可以解决这个问题。
例如,在这种情况下通常会尝试绘制箱线图...
y <- 1:4
x <- factor(letters[1:4])
plot(y ~ x)
我希望它只绘制点并正确标记 x 轴。以下工作,但我希望有一个更简单的版本。
nx <- length(x)
plot(y ~ 1:nx, xaxt = 'n')
axis(1, 1:nx, x, xlab = '')
我希望像下面这样的东西可能会起作用......
plot(y ~ x, type = 'n')
points(1:nx, y)
但是不行。而type = 'p' 也不这样做。
我相信最后一次失败是 R 中不一致的另一个例子。设置 type = 'n' 也应该在方法调用中起作用,或者应该强制所有 plot 函数使用它(继承或至少通过 @ 987654330@)。它在plot.default。
【问题讨论】:
-
仅供参考:您标记错误的
type参数的行为实际上是记录在案的行为。在plot.factor中描述进一步的参数时,文档清楚地说明了“无接受类型。”。您所描述的更像是一个功能请求,即 R Core 向boxplot添加一个类型参数(最终被称为)。他们可能会(正确地)争辩说,为人们节省 1-2 行额外的调用axis的努力并不值得。 -
我认为一致性比简洁更重要。好的,是的,也许我应该把它作为一个功能请求。
-
嘿,我实际上是站在你这边的。我认为,对于像
plot这样的泛型,追踪哪些参数与哪些方法相关可能比理想情况下希望的要复杂。我只是指出了一个(有点陈词滥调)的事实,即这种非常复杂性意味着进行更改可能比收益更多。 -
是否可以编写自己的
Plot()命令来实现所需的行为(u)rs?