ggplot2和其他函数(R)之间的加号[重复]

2024-01-06

我试图得到这个例子:

ggplot(mpg, aes(displ, hwy)) + geom_point()

有人可以解释一下这两个函数之间发生了什么吗?

ggplot2 是否重载“加”运算符?总结这2个结果是什么?它被分配给什么?它是 R 特定的功能,还是 ggplot2 特定的功能?它是一种管道吗?


@Richard Scriven 在注释中引用的函数定义定义于plot-construction.r https://github.com/hadley/ggplot2/blob/master/R/plot-construction.r,这可能会更清楚。您需要浏览源代码才能确切地了解这两个(未导出的)函数的作用(调用的 LHS 是否是theme or a ggplot对象),但名称应该会给你一个很好的主意。返回值为e1通过“添加”修改e2.

"+.gg" <- function(e1, e2) {
  # Get the name of what was passed in as e2, and pass along so that it
  # can be displayed in error messages
  e2name <- deparse(substitute(e2))

  if      (is.theme(e1))  add_theme(e1, e2, e2name)
  else if (is.ggplot(e1)) add_ggplot(e1, e2, e2name)
}

所以,是的,+对于继承类的对象是重载的gg (all ggplot2对象)。

我认为“管道”(@alistaire 的评论)是一个误导性的类比;这非常符合标准运营组通用的风格。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ggplot2和其他函数(R)之间的加号[重复] 的相关文章

  • 从 R 中的向量中选择所有可能的元组

    我正在尝试用 R 编写一个程序 当给定一个向量时 将返回所有可能的tuples http en wikipedia org wiki Tuples该向量中的元素 例如 元组 c a b c c a b c 出租车 c a c c b c c
  • 返回数据帧 R 中的下一行

    我有一个看起来像这样的数据框 kind datetime book 2016 04 23 04 23 00 pen 2016 04 23 04 30 00 toy 2016 04 23 06 45 00 我想为数据集中的每一行返回下一行的日
  • 如何对同一列上的数据帧列表中的所有数据帧进行排序?

    我有一个数据框列表dataframes list 举个例子 我把dput dataframes list 在底部 我想对列列表中的所有数据框进行排序enrichment 我可以对一个数据框进行排序 first dataframe lt da
  • 如何在R中删除重复项

    我有一个非常大的数据集 如下所示 df lt data frame school c a a a b b c c c year c 3 3 1 4 2 4 3 1 GPA c 4 4 4 3 3 3 2 2 school year GPA
  • 如何在for循环中引用变量?

    我正在循环访问不同的 data tables 和 data table 中的变量 但我在引用内部变量时遇到问题for loop dt1 lt data table a1 c 1 2 3 a2 c 4 5 2 dt2 lt data tabl
  • 如何用外部图像填充地图边界?

    我正在创建一张带有州边界的巴西地图 这可以直接使用ggplot2 and geom sf 然而 这一次 我不想用数据填充每个状态的颜色 而是想用外部图像 png 填充每个状态的边界 类似于this https online olivet e
  • R foreach问题(某些进程返回NULL)

    我遇到了问题foreach我正在 R 中使用的程序的一部分 该程序用于运行不同参数的模拟 然后将结果返回到单个列表 然后用于生成报告 当并非所有分配的模拟运行都在报告上实际可见时 就会出现问题 从各方面来看 似乎只有分配的运行的一个子集实际
  • 在 R 中向散点图添加线条

    如何向图表添加线条 我做了以下 dat lt data frame xvar 1 20 rnorm 20 sd 10 yvar 1 20 rnorm 20 sd 10 zvar 1 20 rnorm 20 sd 10 plot dat 1
  • 对于 Swift 中的计算器

    只是要警告你 我是 Swift 的新手 我仍在适应它的工作原理 我一直在尝试在课堂上完成这个计算器项目 问题是 我需要练习简化代码 现在 当按下数字按钮时 我将其保存在这样的数组中 IBAction func buttonPressed s
  • 选择 R 中的数据表中隐藏时(在绿色加号下方)列的显示顺序

    Context 使用 DataTables 库制作交互式表格时 当屏幕宽度对于列的数量和宽度来说太窄时 列将隐藏在绿色 号下 我有一个非常宽的表格 有 20 多列 其中一些内容非常冗长 因此某些列在所有屏幕宽度下总是隐藏的 每次隐藏新列时
  • 如何使用 usmap 标记数字而不是名称?

    我知道 usmap 有一个选项label in plot usmap 我想标记一些数字 而不是状态名称 我想 usmap 中应该有与州质心坐标相关的数据 但我不知道如何找到它 如果我能得到 坐标然后我可以用它来标记数字geom text 这
  • 在 R 中绘制 Likert 变量的堆积条形图

    假设我有一个如下所示的数据框 P Q1 Q2 1 1 4 1 2 2 3 4 3 1 1 4 其中的列告诉我哪个人相应地回答了问题 q1 q2 中的哪一个 这些问题需要按照 4 分李克特量表进行回答 例如 批准 表示 1 稍微批准 表示 2
  • pyomo + 网状错误 6 句柄无效

    我正在尝试运行pyomo优化 我收到错误消息 Error 6 The handle is invalid 不知道如何解释它 环顾四周似乎与特权有关 但我不太明白 在下面找到完整的错误跟踪以及重现它的玩具示例 完整的错误跟踪 py run f
  • 在 R 格子包中微调点图

    我正在尝试为不同的数据集和不同的算法绘制一堆 ROC 区域 我有三个变量 方案 指定所使用的算法 数据集 是正在测试算法的数据集 以及 Area under ROC 我正在 R 中使用lattice库 命令如下 点图 方案 Area und
  • 将每列的值乘以 R 中另一个 data.frame 中的权重

    我有两个data frames df and weights 代码如下 df看起来像这样 id a b d EE f 1 this 0 23421153 0 02324956 0 5457353 0 73068586 0 5642554 2
  • r 中训练和测试数据的最小最大缩放/归一化

    我正在创建一个函数 它将训练集和测试集作为其参数 最小 最大缩放 标准化并返回训练集并使用这些same最小值和最小 最大范围的值 标准化并返回测试集 到目前为止 这是我想出的功能 min max scaling lt function tr
  • ggplot2 geom_密度和geom_histogram在一个图中

    如何制作一个所有条形加起来为 1 的直方图 并在适合的上方添加一个密度层 set seed 1234 df lt data frame sex factor rep c F M each 200 weight round c rnorm 2
  • 将数据框中重叠的范围合并到唯一的组中

    我有一个 n 行 3 的数据框 df lt data frame start c 178 400 983 1932 33653 end c 5025 5025 5535 6918 38197 group c 1 1 2 2 3 df sta
  • 更改闪亮 R 中的默认浏览器

    我在 RStudio 中使用 01 hello 虽然在 IE 中默认打开程序时它不会显示直方图 但即使在 Chrome 中 滑块也不起作用 我无法滑动条形图并看到直方图中的变化 如何更改 R 中的默认浏览器 以便闪亮启动 Chrome 而不
  • 如何仅删除单括号并保留配对的括号

    你好 我亲爱的老师 R 用户朋友们 我最近开始认真学习正则表达式 最近我遇到了一种情况 我们只想保留配对括号 并省略未配对的 这是我的样本数据 structure list t1 c Book Pg 1 Website Online Jou

随机推荐

  • 如何使用 Charles Proxy 设置 Android Lollipop 模拟器?

    我一直在遵循其他问题的指示 例如如何在 Windows 上使用 Charles Web Proxy 和最新的 Android 模拟器配置 SSL 证书 https stackoverflow com questions 3976728 ho
  • JLabel 中有两个图标?

    我在 JLabel 中有一个图标 如下所示 是否可以在颜色图标和文本之间添加另一个图标 例如代表国家的国旗 例如 我想在红色图标和US 谢谢 是的 在容器标签中使用嵌套的 JLabel 和 BoxLayout JLabel containe
  • 唯一性约束(逗号、分隔、属性)如何与 CoreData 中的 Swift 配合使用?

    我刚刚注意到 CoreData 中的每个唯一性约束可以有多个属性 逗号 分隔 属性 但我实际上不知道在一个约束中拥有多个属性会做什么 这是否意味着如果其中任何一个是唯一的 那么约束就不会被打破 Apple 文档并不是特别有帮助 约束 按照配
  • 子类化 ctypes - Python

    这是我在互联网上找到的一些代码 我不确定它是如何使用的 我简单填写了members使用枚举键 值并且它可以工作 但我很好奇这个元类是关于什么的 我假设它与 ctypes 有关 但我找不到关于子类化 ctypes 的太多信息 我知道 Enum
  • 将当前 URL 的结束字符替换为小书签

    有没有办法通过 javascript bookmarklet 将 currentURL 中最后一个反斜杠之后的所有字符替换为另一个字符串 我正在对 Sharepoint 网站进行大量审核工作 并且必须通过在 URL 末尾输入字符串来手动查看
  • 在 C++ 中使用 MinGW 嵌入 python3.6 链接失败

    尝试在Win10 64位系统上将python3 6嵌入到C 中 Python 的安装方式是python 3 6 1 amd64 exe CMakeList txt 显示如下 cmake minimum required VERSION 3
  • 计算嵌套 mongodb 文档中的出现次数并保留组

    我有这些文件 question 1 answer Foo question 1 answer Foo question 1 answer Bar question 2 answer Foo question 2 answer Foobar
  • 迭代或惰性储层采样

    我非常熟悉使用储层采样在一次数据传递中从一组未确定的长度中进行采样 在我看来 这种方法的一个限制是 在返回任何结果之前 它仍然需要遍历整个数据集 从概念上讲 这是有道理的 因为必须允许整个序列中的项目有机会替换先前遇到的项目以获得统一的样本
  • 如何将 PostgreSQL hstore/json 与 JdbcTemplate 一起使用

    有没有办法使用 PostgreSQL json hstoreJdbcTemplate esp查询支持 for eg hstore INSERT INTO hstore test data VALUES key1 gt value1 key2
  • 限制tinyMCE中的字符数

    我在用着tinyMCe对于我的项目 一切正常 但现在我想限制插入的字符数tinyMce文本区域 tinyMCE init General options mode textareas theme simple plugins autolin
  • 如何在Unity(2D)中用鼠标移动对象?

    我正在为 Android 制作一个 2D Unity 游戏 请帮我实现鼠标控制 以便可以从手机上控制 using System Collections using System Collections Generic using Unity
  • rbenv 无法更改全局 ruby​​ 版本

    我的 Mac OS X 有一个默认的 ruby ruby v ruby 2 0 0p451 2014 02 24 revision 45167 universal x86 64 darwin13 我安装了 rbenv 和 ruby 版本 2
  • 是否可以覆盖 mat-datepicker 上的 mat-monthly-view 组件以添加周数列?

    我正在尝试将周数列添加到来自角度材料的 mat datepicker 组件中使用的 mat monthly view 组件 我想扩展当前的 mat monthly view 并在某种程度上告诉我的模块 当调用 mat monthly vie
  • 如何修复 django 'django.core.exceptions.ImproperlyConfigured' 的 url 错误?

    from django contrib import admin from django urls import path include urlpatterns path admin admin site urls path polls
  • 尝试将文件上传到 Google 云端硬盘时不断收到“需要登录”错误

    我正在编写一个 chrome 扩展 它将拦截某些下载 当前为 doc 和 docx 文件 并获取这些文件并自动将它们上传到您的 Google 驱动程序文件夹 这是我的清单 Default manifest crap manifest ver
  • Spring webflow 生产中的序列化问题

    我有一个 grails 应用程序使用 webflow 以正确的方式做一些事情 所以在开发模式下一切顺利 我可以完成注册并且对象正常序列化 但是 在生产模式下 部署在带有ssl的tomcat 7上 当需要保存数据时会出现以下错误 简而言之 序
  • R 中逻辑回归的交互[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在 R 中使用函数 glm 运行逻辑回归 我想添加两个自变量之间的交互作用 并且我知道我可以使用 或 来链接这两个术语 示例 我有一个分
  • 直接打开 Xserver 的套接字

    我希望了解 Linux 桌面环境如何与 Xserver 配合使用 我读到大多数窗口管理器不直接打开套接字 而是使用 Xlib 绑定 来编写 WM 的任何语言 或者您可以使用更高级别的绑定 XCB 但我想知道直接向 Xserver 打开套接字
  • 如何将按钮添加到功能区上预先存在的选项卡 (C#)?

    我已成功创建一个新选项卡并将其放在先前存在的选项卡旁边 然后我意识到它上面只有一个按钮 因此 目前 将其放在 主页 选项卡上更有意义 但并没有真正发挥作用 我尝试遵循指南和步行槽 我得到了一个 XML 并将其 XML 更改为以下内容
  • ggplot2和其他函数(R)之间的加号[重复]

    这个问题在这里已经有答案了 我试图得到这个例子 ggplot mpg aes displ hwy geom point 有人可以解释一下这两个函数之间发生了什么吗 ggplot2 是否重载 加 运算符 总结这2个结果是什么 它被分配给什么