我尝试过使用suppressMessages(expr)、suppressWarnings(expr)的表达式,但它们一直在输出消息。例如:
suppressWarnings(ksvm(y~., data=data, type='C-svc', cross=5, kernel=kernel))
一直在发出这样的信息。设置缺省内核参数如何禁止来自库的消息?是否有全局禁止的方法?已尝试:
{r messages=FALSE, warnings=FALSE}
kyks70gy1#
下面是指向生成输出的行的链接:https://github.com/cran/kernlab/blob/master/R/ksvm.R#L88通过查看,我们可以看到消息显示为cat(),而不是message()。suppressMessages()不会抑制cat输出。有多种方法可以摆脱cat输出,一种是捕获消息,然后隐藏它,如下所示:
cat()
message()
suppressMessages()
cat
invisible(capture.output(ksvm(...)))
piah890a2#
如果它没有说明这是一个警告,则应该使用suppressMessages。尝试将函数调用放在大括号中:
suppressMessages
suppressMessages({ksvm(y~., data=data, type='C-svc', cross=5, kernel=kernel)})
avwztpqn3#
可以将空列表传递给kpar参数。比如ksvm(y~., data=data, type='C-svc', cross=5, kernel=kernel, kpar = list())
ksvm(y~., data=data, type='C-svc', cross=5, kernel=kernel, kpar = list())
3条答案
按热度按时间kyks70gy1#
下面是指向生成输出的行的链接:https://github.com/cran/kernlab/blob/master/R/ksvm.R#L88
通过查看,我们可以看到消息显示为
cat()
,而不是message()
。suppressMessages()
不会抑制cat输出。有多种方法可以摆脱
cat
输出,一种是捕获消息,然后隐藏它,如下所示:piah890a2#
如果它没有说明这是一个警告,则应该使用
suppressMessages
。尝试将函数调用放在大括号中:avwztpqn3#
可以将空列表传递给kpar参数。
比如
ksvm(y~., data=data, type='C-svc', cross=5, kernel=kernel, kpar = list())