R 函数 - 未分配时打印

标签 r function

我看到还有一个相关的question ,但答案不是我要找的。我想要一个可以分配给对象的函数,但即使在分配时仍会打印输出,但不会重复打印。

在这种情况下:

fun <- function(x) {
print(x+1)
x+1
}
a <- fun(3)

在这种情况下,它既会保存到 a,又会打印到控制台,这正是我想要的。

但在这种情况下:

fun(3)

它会打印到控制台两次。有没有一种方法可以从案例 1 中获得所需的结果,而无需在案例 2 上重复打印?

最佳答案

假设您仍然希望您的函数返回 'x+1' 值,您可以将它包装在不可见函数中:

fun <- function(x) {
  print(x+1)
  invisible(x+1)
}

> fun(3)
[1] 4

> a = fun(3)
[1] 4

> a
[1] 4

这只会打印一次,同时仍保留 'x+1' 值。

关于R 函数 - 未分配时打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39233378/

相关文章:

r - 情节标题的文本换行

r - 在 Windows 10 中使用 Linux bash 将 Linux R 解释器引入 Rstudio(Windows 应用程序)。

r - 尝试在 Linux 服务器上运行多个实例时 H2o 崩溃

c - 结构和功能

C将指针作为函数中的参数传递

r - 根据具有指定格式(例如,删除线)的单元格消除 R 中的 Excel 行?

r - 迭代 dplyr::summarise 中的值和变量名称

R 错误 : subscript out of bounds with by() nested with kappam. fleiss()

javascript - 使用文本输入字段时出现 Javascript 中的 NaN

javascript - Jquery - 更改更改输入字段的值