ggplot2参数如何工作?

nic*_*ten 3 r ggplot2

在R with中ggplot2,这两行似乎做同样的事情:

qplot(data=diamonds, carat, price)
qplot(data=diamonds, get("carat"), get("price"))
Run Code Online (Sandbox Code Playgroud)

但我不明白他们是如何工作的......

R如何理解carat第一种情况get("carat")中指的是什么以及第二种情况中指的是什么?如果我只是尝试访问caratget("carat")自己获得(不出所料)

> carat
Error: object 'carat' not found
> get("carat")
Error in get("carat") : object 'carat' not found
Run Code Online (Sandbox Code Playgroud)

如何ggplot2设置绑定,使这些优雅的调用语义"正常工作",更具体地说,我将如何自己实现这种排序?我试图阅读源代码,但我很难理解它.

Gre*_*gor 6

Hadley是ggplot2的创建者,他在devtools wiki上有一个关于构建你自己的subset函数版本的精彩条目- 它也有一个数据参数.我学到了很多东西,并且我愿意打赌文章中建立的机制非常类似于ggplot它.

https://github.com/hadley/devtools/wiki/Evaluation