【问题标题】:What documentation tells us that "[" can be used as a function?什么文档告诉我们“[”可以用作函数?
【发布时间】:2021-01-22 08:26:49
【问题描述】:

this question 的一些答案表明,从列表中提取子集的最佳方法是使用 sapply(mylist, "[", y) 之类的东西。我发现这相当令人不安,因为我从未见过任何建议我们可以使用“[”,就好像它是一个函数一样。这是在哪里记录的?我检查了?'[[' 的版本3.6.3,但在that documentation 中看不到任何对此功能的引用。

【问题讨论】:

  • R 中的所有运算符都是函数。这记录在语言定义中:cran.r-project.org/doc/manuals/r-release/R-lang.html#Operators
  • @Roland '+'(3,4) 有效吗?伟大的。没想到能让我的 R 代码看起来像 Lisp。
  • R 的设计灵感来自 Scheme。
  • @J.Mini '+'(3,4) 不起作用。你必须使用反引号。
  • @bcarlsen 你错了。试试看。

标签: r list subset sapply


【解决方案1】:

R 中的所有运算符都是函数。这记录在语言定义中:

https://cran.r-project.org/doc/manuals/r-release/R-lang.html#Operators

与其他运算符一样,索引实际上是由函数完成的,可以使用`[`(x, 2) 而不是x[2]

【讨论】:

  • 为了真正有趣,请查看包的源代码 sos ,函数 --- 好吧,运算符 ???
猜你喜欢
  • 2012-10-25
  • 1970-01-01
  • 2017-07-27
  • 2021-05-26
  • 2015-09-21
  • 2022-06-16
  • 2021-11-16
  • 2017-07-03
  • 2020-12-31
相关资源
最近更新 更多