抑制来自外部函数的错误信息

我使用的功能是 FixedPoint() 从包里 FixedPoint 对于R中的一些计算,即使不能找到某个函数的定点。FixedPoint() 仍然返回输出(表示错误),并且。此外,返回一个错误信息。我想抑制任何此类额外的错误信息被打印出来。无论是 try(),也不 suppressWarnings(),也不 suppressMessages() 似乎在工作。请看下面一个产生这样一个额外错误信息的例子。

library(FixedPoint)

ell=0.95
delta=0.1 
r=0.1
lambda=1
tH=1
tL=0.5
etaL=1
etaH=1


sys1=function(y){
  A=y[1]
  B=y[2]

  TA=(etaM*(1-exp(-(lambda*A+lambda*(A+B)+2*delta)*tL))-2*lambda*A^2-lambda*A*B)/2/delta
  TB=(etaM*exp(-(lambda*A+lambda*(A+B)+2*delta)*tL)*(1-exp(-(lambda*(A+B)+2*delta)*(tH-tL)))-lambda*B^2-lambda*A*B)/2/delta

  return(c(TA,TB))
}

FixedPoint(sys1,c(1.90,0.04))

解决方案:

这似乎是可行的。

cc <- capture.output(ff <- FixedPoint(sys1,c(1.90,0.04)),type="message") 

其中 ff 现在拥有你想要的输出。 (或者,你也可以将 capture.output(...)invisible() 而不是将其返回值分配给一个变量)。)

问题似乎是错误信息来自于一个非silence-d try() 包代码中的子句。

给TA打赏
共{{data.count}}人
人已打赏
未分类

自动公布员额

2022-9-9 4:13:21

未分类

错误:无法在只读事务中执行UPDATE。

2022-9-9 4:13:23

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索