这是一个看似简单的问题,我要求的是为了更好地理解域特定语言在R中的工作方式。
泛型函数“+”如何允许在ggplot2
中构建分层图?
显然ggplot2
在很高的抽象层次上工作。有人可以展示一个简单的例子,展示“+”如何在ggplot2
下工作?
答案 0 :(得分:5)
methods("+")
将显示已加星标"+.gg*"
,未从ggplot2导出。
ggplot2:::`+.gg`
将揭示野兽。
编辑:澄清一下,+
是基础R中的通用函数,任何人都可以为特定的类定义自己的方法。 ggplot2包在内部为类gg
的对象定义它;它不会在包名称空间中导出,因此需要有点说服力来公开其源代码,例如:与getAnywhere("+.gg")
。