【问题标题】:Partial matching in named lists命名列表中的部分匹配
【发布时间】:2017-08-22 18:49:16
【问题描述】:

我认为R 没有对命名列表进行部分匹配,所以我对下面的示例感到困惑。我尝试阅读Argument matching 文档,但我仍然不确定发生了什么。任何理解此示例的帮助将不胜感激。

ll <- list("dir_session" = "some_directory")
print(ll$dir_session) # prints contents of ll$dir_session as expected
print(ll$dir) # prints contents of ll$dir_session, but I expected to print NULL
print(ll[["dir"]]) # prints NULL as expected

不确定是否会有所不同,但我使用的是 R 版本 3.3.3 (2017-03-06)。

【问题讨论】:

  • 仅供参考,参数匹配指的是,例如,ll[["dir", exa = FALSE]]ll[["dir", exact = FALSE]] - 它与 = 以及您在函数调用中写入它左侧的内容有关(或完全离开 = 并让 args 按位置匹配)。

标签: r


【解决方案1】:

恐怕答案是你想错了。它与对象类(命名列表)的关系较小,而与进行部分匹配的“$”运算符有关。请参阅?Extract 帮助页面。这与调用函数时的参数匹配不同。

【讨论】:

  • 注意:[[ 也会进行部分匹配,只是默认情况下不会。
猜你喜欢
  • 2021-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-16
  • 2021-08-01
  • 2011-07-06
相关资源
最近更新 更多