Остановите лапу от печати на консоль

Когда я используюlapply и печатать на консоль печатает нежелательные[[i]]NULL хотя я хочу, чтобы предполагаемое сообщение печаталось на консоль. Я'мы пыталисьsuppressWarnings а такжеsuppressMessages но они не удаляют нежелательного преступника. я искалlapply и не надоне вижу аргумента, чтобы заставить его замолчать. Это более эстетично, чемвмешиваться в функцию. Я'Я не против альтернативной печати на консоли, если пользователь может отключить ее, если пожелает.

Вот's пример функции, вывод и что яхотел бы получить:

Образец функции:

FUN 
 Jan Kislinger18 янв. 2017 г., 15:56
использованиеpurrr::walk вместоlapply

Ответы на вопрос(3)

Решение Вопроса

использованиеinvisibleНапример:

invisible(FUN("hello"))
hello 1
hello 2
hello 3

Вы можете обернуть его вокругlapply вызовите функцию тоже, чтобы сделать ее более аккуратной.

 James20 окт. 2012 г., 09:23
Временно отключает печать возвращаемого объекта.
 Tyler Rinker20 окт. 2012 г., 05:44
Все еще не уверен, почему это работает. Я'мы использовали невидимое много раз, но не для этой цели.
 Spacedman20 окт. 2012 г., 10:37
Это'неlapply печать его прогресса, как вы, кажется, думаете, его R печатает возвращенный объект, как говорит Джеймс. Тот'почему тамнет возможностиlapply что вы могли видеть. делаjunk
 Tyler Rinker20 окт. 2012 г., 05:38
Отлично. Я'Я добавлю отметку как правильную, как только время истечет. Прекрасно работает (я завернул вызовlapply как вы предложили),

invisible(capture.output()) был лучшим ответом на мои проблемы печати выводов на консоль,Подавить вывод теста стационарности, который выводится на экран, Также в контексте теста, которыйexpect_output очень полезно.

использованиеl_ply от plyr:

library(plyr)
FUN <- function(x) {
    FUN2 <- function(z) message(z)
    l_ply(1:3, function(i) FUN2(paste(x, i)))
}
FUN("hello")

Ваш ответ на вопрос