R function() 中美元符号“$”的含义是什么?

2024-01-17

通过学习R,我刚刚遇到了下面的代码解释here https://cran.r-project.org/doc/manuals/R-intro.html#Scope.

open.account <- function(total) {
  list(
    deposit = function(amount) {
      if(amount <= 0)
        stop("Deposits must be positive!\n")
      total <<- total + amount
      cat(amount, "deposited.  Your balance is", total, "\n\n")
    },
    withdraw = function(amount) {
      if(amount > total)
        stop("You don't have that much money!\n")
      total <<- total - amount
      cat(amount, "withdrawn.  Your balance is", total, "\n\n")
    },
    balance = function() {
      cat("Your balance is", total, "\n\n")
    }
  )
}

ross <- open.account(100)
robert <- open.account(200)

ross$withdraw(30)
ross$balance()
robert$balance()

ross$deposit(50)
ross$balance()
ross$withdraw(500)

我对这段代码最感兴趣的是什么,学习使用"$"美元符号指的是特定的internal function in open.account()功能。我的意思是这部分:

    ross$withdraw(30)
    ross$balance()
    robert$balance()

    ross$deposit(50)
    ross$balance()
    ross$withdraw(500)

问题:

1- 美元符号的含义是什么"$" in R function() ?
2- 如何做identify它在函数中的属性,特别是对于您从其他函数采用的函数(i.e.你没写)?
我使用了以下脚本

> grep("$", open.account())
[1] 1 2 3

但这没有用我想找到一种方法来提取可以通过“$”引用的内部函数的名称,而不仅仅是通过调用和搜索书面代码作为> open.account() .
例如,如果open.account()我想看到这样的东西:

$deposit
$withdraw
$balance

3- 有什么参考资料可以让我阅读更多相关内容吗?
tnx!


The $允许您从命名列表中按名称提取元素。例如

x <- list(a=1, b=2, c=3)
x$b
# [1] 2

您可以使用以下命令查找列表的名称names()

names(x)
# [1] "a" "b" "c"

这是一个基本的提取运算符。您可以通过输入以下内容查看相应的帮助页面?Extract in R.

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

R function() 中美元符号“$”的含义是什么? 的相关文章

  • r:按多列分组并计数

    我有以下数据框 df LeftOrRight SpeedCategory NumThruLanes R 25to45 3 L 45to62 2 R Gt62 1 我想按速度类别对其进行分组 并循环遍历其他列以获取每个速度类别中每个唯一代码的
  • R 带有列和行的分面 qqplots

    我需要使用按行和列的构面创建 qqplot 我了解如何用列和行绘制分面图 但我不确定如何设置我的数据 最终 我想按列和行对数据集进行分组 然后按升序对 建模 结果和 观察到 结果进行排序 同时添加带有 行 组的列和带有 列 组的列 我一直在
  • 配置 fix() 和 edit() 以从 R/RStudio 在 Notepad++ 中打开

    当我在 RStudio 或 RGUI 中执行此操作时 fix SomeFunction 或使用edit 我可以在记事本中看到该函数的代码 有什么方法可以更改此设置 以便代码预览在 Notepad 中打开 而不是在普通的旧记事本中打开 同样
  • 更新两组单选按钮 - 闪亮

    我问了这个问题 反应式更新两组单选按钮 闪亮 https stackoverflow com questions 35040579 update two sets of radiobuttons reactively shiny 昨天 但也
  • 如何在 R Markdown 中的内联 LateX 方程中输出 R 变量的值(即动态更新)

    我无法找到一种方法将 r 代码实现到 R markdown 中的内联 LateX 方程中 目标是如果变量 值 发生变化 则不必对它们的值进行硬编码 Given values lt c 1 4 2 5 7 9 avg lt sum value
  • 将模式的所有元素与向量以相同的顺序匹配

    我创建了一个函数yes seq需要两个参数 一个模式pat和数据dat 该函数以相同的顺序查找数据中是否存在模式 例如 dat lt letters 1 10 dat 1 a b c d e f g h i j pat lt c a c g
  • 在 Windows / Linux 中创建 Mac 包

    我自己努力制作一个 r 包 我按照 stackoverflow 中上一个问题的说明进行操作如何为外行开发软件包 http cran r project org bin windows Rtools 以下是我根据上一个问题采取的步骤 在新的
  • 使用 R SOAP (SSOAP) 检索数据/抓取

    在 B cycle 页面 www bcycle com whowantsitmore aspx 上 我试图抓取投票的位置和值 The URL http mapservices bcycle com bcycleservice asmx ht
  • R 中具有 p 值的相关矩阵

    假设我想要传导相关矩阵 library dplyr data iris iris gt select if is numeric gt cor y iris Petal Width method spearman gt round 2 现在
  • Javascript 函数与 php 一样吗?

    我在网站上使用 WebIM 提供聊天支持 我希望能够在客户端启动聊天会话时设置一个计时器 如果操作员 技术人员在 x 秒内没有响应 我希望页面重定向到客户端可以留言的另一个页面 有点像 请稍等 我们尝试联系您 这样 如果所有技术人员都太忙或
  • 来自大型数据帧的共现

    我有一个数据框 其中包含有关每个用户访问过哪些城市的信息 df visited lt data frame user c john john claire claire doe doe city c Antananarivo Barcelo
  • 如何创建 highcharter 事件函数以在 Shiny R 中创建“下拉函数”

    我正在建造一个shiny应用程序 我想要完成的事情之一是创建一个下拉菜单 我想将劳动力变量绘制为不同级别的年份变量的函数 请参阅下面的示例数据框 year level 2 level 3 labour 1 2013 10 101 1 2 2
  • R 3.5 - read.csv 无法读取 UTF-16 csv 文件

    我的代码如下 read csv http asic gov au Reports YTD 2018 RR20180420 001 SSDailyYTD csv skip 1 fileEncoding UTF 16 sep t header
  • R中具有特定条件的多列变异

    我有这个数据 M1 M2 M3 UCL 1 2 3 1 5 我想在这种情况下创建新列 如果M1大于UCL MM1将为 UP 否则为 NULL 如果M2大于UCL MM2将为 UP 否则为 NULL 如果M3大于UCL MM3将为 UP 否则
  • 如何对范围内的行进行分组并考虑第三列?

    我有一个遗传数据集 我想对基因组中物理上靠近的遗传变异 行进行分组 我想对每条染色体基因组中某些点范围内的基因进行分组 chrom 我的 点 数据集包含变体 行需要在一定范围内的位置 如下所示 chrom low high 1 500 17
  • ggplot2 中的中心图标题

    这个简单的代码 以及今天早上我的所有脚本 已经开始在 ggplot2 中给我一个偏离中心的标题 Ubuntu version 16 04 R studio version Version 0 99 896 R version 3 3 2 G
  • 使用 data.table 左连接

    假设我有两个数据表 s dataA A B 1 1 12 2 2 13 3 3 14 4 4 15 dataB A B 1 2 13 2 3 14 我有以下代码 merge test merge dataA dataB by A all d
  • Matlab 中是否有相当于 R 的 dput() 的函数?

    Matlab 中是否有相当于 R 的 dput 的函数 dput 将 R 对象的 ASCII 文本表示形式写入文件或连接 UPDATE 1 添加了递归和对单元格的支持 UPDATE 2 添加了对结构的支持 UPDATE 3 增加了对逻辑 整
  • SparkR 和 Sparklyr 之间导入 parquet 文件所需的时间差异

    我正在使用 databricks 导入镶木地板文件SparkR and sparklyr data1 SparkR read df dbfs data202007 source parquet header TRUE inferSchema
  • 从 leafletProxy() 返回渲染的传单地图

    是否可以在渲染后在 Shiny 中检索传单地图 下面是一个代码示例 展示了如何生成地图leaflet 与返回的不同leafletProxy 即使它们在渲染时看起来完全相同 是否有一个功能可能不同于leafletProxy 获取实际的 htm

随机推荐

  • 在Python中找到英文维基百科中两篇文章之间的最短路径

    问题 在英文维基百科中查找两篇文章之间的最短路径 如果存在文章 C i 并且文章 A 中存在指向文章 C 1 的链接 文章 C 1 中存在指向文章 C 2 的链接 则文章 A 和 B 之间存在路径 在文章 C n 中是指向文章 B 的链接
  • 如何快速获取字符串的一部分?

    我想了解如何在 Swift 中获取字符串的一部分 我正在寻找 Mid Right 和 Left 函数的 Swift 等效项 任何帮助 将不胜感激 斯威夫特 4 斯威夫特5 现代 API 具有以下语法 let str Hello world
  • 为什么我们使用 web.xml? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • TextView setText() 上抛出 NullPointerException

    调试了一段时间 帮忙 是的 我知道是什么原因造成的 但不知道如何解决它 public void onCreate Bundle savedInstanceState super onCreate savedInstanceState Ran
  • 表单位置和大小行为

    我想将表单放置在屏幕的左上角 我努力了this Location new Point 0 0 但窗口位于 7 0 窗口顶部位于屏幕顶部 但左侧距离屏幕边缘 7 个像素 我创建了新的 WinForms 应用程序进行测试 并仅添加了以下代码 p
  • 如何检查数字是否溢出“int”[重复]

    这个问题在这里已经有答案了 可能的重复 检测 C C 中整数溢出的最佳方法 https stackoverflow com questions 199333 best way to detect integer overflow in c
  • 如何将模式应用于文本字段以仅允许特定字符

    我只想允许在 Material UI TextField 中输入特定字符 我见过我尝试过的不同例子 但我无法让它们中的任何一个工作 在我最后一次尝试中 我将一切都削减到最低限度 并得到了这个
  • 致命错误:未找到“Redis”类

    我已经在我的 ubuntu 14 服务器上安装了带有 phpredis 扩展的 Redis 我使用 Nginx 服务器 我有 php 测试脚本 redis new Redis or die Cannot load Redis module
  • 重置 primeNG 表上的过滤器值

    根据来自的文档https www primefaces org primeng table https www primefaces org primeng table重置方法应该 重置排序 过滤器和分页器状态 问题是重置表方法没有从 UI
  • tomcat支持http PATCH方式吗?

    对 tomcat 的 PATCH 请求返回 HTTP 状态 501 此 Servlet 未针对此 URI 实现方法 PATCH 错误 是否可以在tomcat中允许PATCH方法 类似的问题在这里得到了回答 如何阻止 Apache httpd
  • 让 readline 在 FIFO 上阻塞

    我创建一个 fifo mkfifo tofetch 我运行这个Python代码 fetchlistfile file tofetch r while 1 nextfetch fetchlistfile readline print next
  • 将 xml 命名空间限制为仅限主根

    我有这个查询 WITH XMLNAMESPACES DEFAULT https tribunet hacienda go cr docs esquemas 2017 v4 2 facturaElectronica http www w3 o
  • Silverlight 3 Datagrid:在 MouseOver 上获取行/项目

    我有一个绑定的 DataGrid 和各种其他控件 数据网格外部 它们显示有关数据网格中所选行的更多详细信息 通过数据绑定或处理数据网格上的 SelectionChanged 事件很容易做到这一点 但是 如何在不要求用户选择行的情况下执行此操
  • 在 HTML 中使用 img 标签 src 属性显示图像与在 CSS 中设置图像样式有什么区别?

    结果是相同的 但我猜想在 HTML 中使用 img 标签 src 属性设置图像和在 CSS 中设置图像样式之间存在差异 例如 In HTML img src notrealdomain com some png and In HTML im
  • 对于 Java 类来说,内在锁实际上意味着什么?

    为了正确理解 Java 中并发的问题和解决方案 我正在阅读官方的 Java 教程 在他们定义的其中一页中本质锁和同步 link https docs oracle com javase tutorial essential concurre
  • Python 3.7 input() 不起作用,但 raw_input 起作用

    这里是经典的初学者问题 我一直在尝试在各种文本编辑器 如 VSCode 和 Atom 上使用 Python 但它们似乎都不起作用 安装 python 3 7 后 如果我要求一个简单的输入 程序就会崩溃 将输入标记为未定义 但是当我使用 ra
  • 使用 Google 地图 JavaScript API 将“地点卡”添加到嵌入式地图?

    有谁知道如何使用嵌入式 Google 地图启用 地点卡 谷歌地图 JavaScript API https developers google com maps documentation javascript 当我使用Google 地图嵌
  • 创建一个d维指针[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我们用符号来表示指针 迭代该过程 我们获得一个 双 指针 一个 三重 指针 更一般地说 是一个 d 维 指针 对于每个 d 个正自然数
  • 从 Angular 2 中的 config.json 获取数据

    我想从配置文件加载所有网址 我创建了名为 config json 的 json 文件 ConfigurationService ts 来通过密钥获取 URL 但是我无法通过密钥获取 URL 配置 json loginUrl http exa
  • R function() 中美元符号“$”的含义是什么?

    通过学习R 我刚刚遇到了下面的代码解释here https cran r project org doc manuals R intro html Scope open account lt function total list depo