【问题标题】:How to print one result from function but store others如何从函数打印一个结果但存储其他结果
【发布时间】:2021-12-02 08:16:04
【问题描述】:

考虑这个组合函数:

Made_up <- function(x) {
one <- x 
two <- x + 1
three <- x + 2
}

我怎样才能让函数只打印对象三的结果并存储我编写时要调用的其他变量

  answer <- Made_up(1)

  answer$....

【问题讨论】:

    标签: r function


    【解决方案1】:

    与 Vasily A 的回答类似,您可以使用 return 并将函数的结果存储在 answer 中。

    Made_up <- function(x) {
      one <- x 
      two <- x + 1
      three <- x + 2
      print(three)
      return(list(one=one, two=two, three=three))
    }
    
    answer <- Made_up(1)
    answer$one
    
    [1] 1
    

    【讨论】:

      【解决方案2】:

      这个怎么样:

      Made_up <- function(x) {
      one <- x 
      two <- x + 1
      three <- x + 2
      print(three)
      invisible(list(one=one, two=two, three=three))
      }
      

      【讨论】:

      • 它仍然将列表的内容打印到控制台。我希望它只打印三个并隐藏列表。
      • 使用invisible(list(...))
      • 你是对的@rawr。将其添加到答案中
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-18
      • 2016-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多