包中包含函数,但出现“找不到函数”错误

时间:2018-07-26 18:09:48

标签: r

在R中,出现错误“找不到功能...”。该功能位于包装内。仍然在我运行程序包时,出现错误。

在运行ChainLadder时,我在MackChainLadderFunctions.R软件包中收到此错误。例如,函数checktriangle存在于Chainladder.R的包中。 R仍然无法识别该函数或调用该函数。

1 个答案:

答案 0 :(得分:4)

这里有两个问题。

  • 函数名称区分大小写(checkTriangle,而不是checktriangle
  • checkTriangle不是从软件包中导出的(即,它是仅用于软件包中的私有函数),因此您需要:::才能访问它...请尝试ChainLadder:::checkTriangle

使用私有功能“需要您自担风险/请程序员注意”;私有功能是未记录的,可能会在将来的版本中更改,等等。如果您可以找到一种方法来处理需要使用的公共功能,通常是首选。

AFAICT您正在遇到此问题,因为您试图在R会话中source()(或剪切并粘贴)打包代码。如果您使用library("ChainLadder")加载软件包并使用公共功能,则不会发生这种情况(如果这样做,请编辑问题以提供更多有关如何使用软件包的背景信息……)