Nhiều gói R tôi làm việc với các hàm liên quan cung cấp tất cả thông điệp và cảnh báo của chúng qua lệnh để in() gọi thay vì lệnh để nhắn tin() hoặc cảnh báo(). Tôi muốn có thể tắt tiếng các chỉ báo tiến trình chức năng này, v.v., nhưng supressWarnings tiêu chuẩn() hoặc supressMessages không làm điều đó. Có cách nào tôi chỉ có thể ngăn chặnPrint?chặn thông điệp được hiển thị bằng "in" thay vì "tin nhắn" hoặc "cảnh báo" trong R
Ví dụ:
silly_developer_function <- function(x){
print("Thanks for using my function!!")
if(is(x, "numeric"))
print("warning, x should be a character")
x
}
Tôi muốn có một hàm suppressPrint đơn giản() mà tôi có thể quấn quanh một cuộc gọi đến chức năng này sẽ ngăn chặn các thông điệp cảnh báo và vô dụng (nhưng vẫn in sự trở lại giá trị).
Có chiến lược hackish sử dụng 'sink', nhưng có thể có cách tốt hơn. – joran
@cboettig - Bản chỉnh sửa được đề xuất của bạn về giải pháp của Simon rất hay, nhưng tốt hơn nên được thêm vào như một bản chỉnh sửa/phụ lục cho bài đăng của riêng bạn. Cảm ơn. –
@ JoshO'Brien Cảm ơn con trỏ. Tôi có phải chỉnh sửa câu hỏi ban đầu của tôi với đề xuất đó không? Có vẻ lạ khi chuyển câu hỏi thành câu trả lời? – cboettig