"+"如何在ggplot2中运行?

Ben*_*ert 4 r ggplot2

这是一个看似简单的问题,我要求的是为了更好地理解域特定语言在R中是如何工作的.

通用函数"+"如何允许构建分层​​图ggplot2

显然ggplot2在非常高的抽象层次上工作.有人可以展示一个简单的例子,展示"+"如何在引擎盖下工作ggplot2

bap*_*ste 5

methods("+")将显示一个已加星标"+.gg*",未从ggplot2导出.

ggplot2:::`+.gg` 
Run Code Online (Sandbox Code Playgroud)

将揭示野兽.

编辑:澄清,+是基础R中的通用函数,任何人都可以为特定类定义自己的方法.ggplot2包在内部为类的对象定义它gg; 它不会在包名称空间中导出,因此需要一点说服力来公开其源代码,例如getAnywhere("+.gg").