Сохраняйте класс, но не показывайте его в выводе функции R - PullRequest
0 голосов
/ 21 мая 2019

После создания класса для объекта, выводимого функцией, возможно ли подавить дополнительный вывод (в следующем случае: attr(,"class") ; [1] "bob") не отображается в выводе?

Чтобы было ясно, я хочу сохранить класс, я просто не хочу, чтобы он отображался в выходных данных.

foo <- function(x){

 r <- x + 2
 class(r) <- "bob"
 r
 }
 # Example of use:
 foo(2)

# OUTPUT:   preserve the class but don't show: `attr(,"class") ...`
[1] 4
attr(,"class")
[1] "bob"

1 Ответ

2 голосов
/ 21 мая 2019

Вы можете определить метод print() для класса bob:

print.bob = function(x, ...) { print(as.numeric(x), ...) }

print(r)
# Output:
# [1] 7
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...