符号:::在R中是什么意思

Mil*_*der 8 syntax r

我在以下背景下从B. Pfaff的"R中的集成和协整时间序列分析"中看到了这一点.

## Impulse response analysis of SVAR A?type model 1
args (vars ::: irf.svarest) 2
irf.svara <? irf (svar.A, impulse = ”y1 ” , 3
response = ”y2 ” , boot = FALSE) 4
args (vars ::: plot.varirf) 5
plot (irf.svara)
Run Code Online (Sandbox Code Playgroud)

Sha*_*ane 10

从帮助文件(你可以看到这个help(":::")):

The expression 'pkg::name' returns the value of the exported
     variable 'name' in package 'pkg' if the package has a name space.
     The expression 'pkg:::name' returns the value of the internal
     variable 'name' in package 'pkg' if the package has a name space.
Run Code Online (Sandbox Code Playgroud)

换句话说:::,用于直接访问内部包的成员(即不从NAMESPACE导出).

请参阅此相关问题:R:从命名空间调用函数.

  • 另外,不要在google.org上搜索R问题 - 请访问rseek.org. (8认同)
  • 谢谢,我真的很讨厌发布这类问题,但 google 没用,而且帮助文件对编程新手非常不友好。请问这是在什么帮助文件下记录的? (3认同)
  • 只需打电话:`help(":::")`. (2认同)
  • #Shane,我已经阅读了文档,但通常情况下,文档编写得如此高效,以至于对于新手(最需要文档的人!)来说变得有点晦涩难懂。这位新手的问题:在您上面多年的答案中“如果包有名称空间”是什么意思?另外,如果包没有“有名称空间”,那么“::”或“:::”是什么意思? (2认同)
  • @WBarker当您创建包时,某些函数会标有导出标签,并且在您键入library(mypackage)或mypackage::myfunction()时可用。一些其他函数供包的其他函数内部使用,并且在您键入library(mypackage) 或mypackage::myfunction() 时不可用。使用 3 个“:”允许您访问这些“内部”函数,如下所示: mypackage::::myfunction() (2认同)