【问题标题】:store function output in matrix in R将函数输出存储在 R 中的矩阵中
【发布时间】:2013-08-28 11:31:16
【问题描述】:

当我在 R 中运行一个函数时,我使用“返回”命令来显示,但是当我使用它时,我似乎只能返回一个矩阵,然后只能在控制台中,即它不会将它存储为我的对象窗口中的一个矩阵。

我的问题是:如何将函数中创建的矩阵存储为可以在函数完成通过工作区窗口运行后访问和查看的矩阵?

哦,我正在使用 RStudio 作为我的编辑器。

任何帮助将不胜感激。

谢谢

迈克

【问题讨论】:

  • 把它分配给某物。 A <- myfun(blahblah); AA 现在应该在您的工作区中。你问的是这个吗?
  • 如果您需要从一个函数中返回多个变量,将它们全部包装到list() 中并返回该变量将起作用

标签: r function return


【解决方案1】:

这就是正在发生的事情。 正如您所观察到的,return 将您的数据打印到控制台。 编辑:澄清一下,print 方法,正如 Roland 指出的那样,进行打印。函数中最后一个操作的结果将打印到控制台。由于return 终止了函数,所以return 的结果就是print 拾取的结果。

但是,打印 东西,无论是使用returnprint 还是其他命令,都可以做到这一点:将东西放在窗口中。碰巧,return 做了另一件事:如果存在 -><- 赋值运算符(或其他一些运算符,但暂时保留),它将数据发送到接收对象。

return 将数据转储到一个临时对象中,该对象可以在下一个命令中(仅)使用.Last.value 检索。

您也可以写return(invisible(mydata)) 来禁止打印到控制台,同时仍然使数据可用于分配。

【讨论】:

  • 我不认为return 进行任何打印。这是通过print 方法完成的。
  • @Roland print 方法不会自动打印出函数中最后一次操作的结果吗?我承认那里有点油嘴滑舌,但是由于return 终止了一个函数,所以最终结果都是一样的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-05-23
  • 1970-01-01
  • 1970-01-01
  • 2014-08-09
  • 1970-01-01
  • 2017-02-09
  • 1970-01-01
相关资源
最近更新 更多