Stop lapply from printing to console

前端 未结 3 1976
故里飘歌
故里飘歌 2020-12-03 00:37

When I use lapply and print to the console it prints unwanted [[i]]NULL though I want the intended message to print to the console. I\'ve tried

相关标签:
3条回答
  • Use invisible, eg:

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

    You can wrap it around the lapply call in the function too to make it tidier.

    0 讨论(0)
  • 2020-12-03 01:22

    Use l_ply from plyr:

    library(plyr)
    FUN <- function(x) {
        FUN2 <- function(z) message(z)
        l_ply(1:3, function(i) FUN2(paste(x, i)))
    }
    FUN("hello")
    
    0 讨论(0)
  • 2020-12-03 01:22

    You could use a plain ol' for loop instead of lapply():

    FUN <- function(x) {
      for (i in 1:3) {
        message(paste0(x, i))
      }
    }
    FUN("hello")
    
    0 讨论(0)
提交回复
热议问题