R -抑制消息/抑制警告不起作用

6mw9ycah  于 2023-01-18  发布在  其他
关注(0)|答案(3)|浏览(136)

我尝试过使用suppressMessages(expr)、suppressWarnings(expr)的表达式,但它们一直在输出消息。
例如:

suppressWarnings(ksvm(y~., data=data, type='C-svc', cross=5, kernel=kernel))

一直在发出这样的信息。
设置缺省内核参数
如何禁止来自库的消息?是否有全局禁止的方法?
已尝试:

{r messages=FALSE, warnings=FALSE}
kyks70gy

kyks70gy1#

下面是指向生成输出的行的链接:https://github.com/cran/kernlab/blob/master/R/ksvm.R#L88
通过查看,我们可以看到消息显示为cat(),而不是message()suppressMessages()不会抑制cat输出。
有多种方法可以摆脱cat输出,一种是捕获消息,然后隐藏它,如下所示:

invisible(capture.output(ksvm(...)))
piah890a

piah890a2#

如果它没有说明这是一个警告,则应该使用suppressMessages。尝试将函数调用放在大括号中:

suppressMessages({ksvm(y~., data=data, type='C-svc', cross=5, kernel=kernel)})
avwztpqn

avwztpqn3#

可以将空列表传递给kpar参数。
比如ksvm(y~., data=data, type='C-svc', cross=5, kernel=kernel, kpar = list())

相关问题