f <- function(x){
print(paste0("x is: ",x))
return(mean(rnorm(x))) #return() not neccessary
}
然后,
set.seed(8)
f(5)
输出:
[1] "x is: 5"
[1] 0.09550734
如何在函数结果后显示print语句,因此输出为:
[1] 0.09550734
[1] "x is: 5"
这可以在同一个函数中完成而不将文本作为return
参数的一部分放置吗?
答案 0 :(得分:3)
将功能更改为隐身返回,并使用print
按您想要的顺序显示内容:
f <- function(x) {
out <- mean(rnorm(x))
print(out)
print(paste("x is:", x))
invisible(out)
}
答案 1 :(得分:1)
f <- function(x, print = TRUE){
# return(mean(rnorm(x))) #return() not neccessary
a <- mean(rnorm(x))
b <- paste(" x is:", x)
if isTRUE(print) {
return(cat(c(a, b), sep = "\n"))
}
return(x)
}