在R的较新版本(我有3.6,以前有3.2)中,stats::regularize .values函数已更改为默认值warn.collapsing为TRUE。该函数用在splinefun和R中的其他几个插值函数中。在微仿真模型中,我使用splinefun平滑了(x,f(x))形式的大量(n> 100,000)数据点。在此,x是正值缩放器的模拟向量,而f(x)是(x)的某些函数。当n很大时,通常会复制一些伪随机生成的值(即,并非x的所有值都是唯一的)。我的理解是splinefun摆脱了x值中的纽带。这对我来说不是问题,但是由于采用了新的默认设置,所以每次(下)我都会收到一条警告消息



有没有办法将stats::regularize.values函数的warn.collapsing参数的默认值更改回F?还是我可以以某种方式抑制该特定警告?这很重要,因为它嵌入了很长的微仿真代码中,当我对其进行更新时,我经常会遇到错误。因此,我不能只是忽略警告消息。

我尝试使用形式化功能。我能够打印出stats::regularize.values的默认参数,但是当我尝试使用alist函数分配新值时,它说没有对象'stats'。

最佳答案

我也遇到了这个问题,并通过将ties=min添加到splinefun()的参数列表中进行了修复。
现在,missing(ties)的值作为warn.collapsing传递给regularize.values()

https://svn.r-project.org/R/trunk/src/library/stats/R/splinefun.R
https://svn.r-project.org/R/trunk/src/library/stats/R/approx.R

另请参阅:
https://cran.r-project.org/doc/manuals/r-release/NEWS.html
并搜索regularize.values()

关于r - 如何抑制来自stats::: regularize.values的警告?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56861001/

10-13 04:22