【发布时间】:2016-05-16 21:53:33
【问题描述】:
我想创建一个函数,它接受一个变量并返回多个输出,以便我可以将后者用于函数之外的其他目的。以下面的简化版本为例:
user <- function(x){a <- x+1; a <- a+0.1; b <- a*-1}
sum(a,b)
所以如果我输入user(10),a 将是 11.1,b 将是 -11.1,sum(a,b) 将返回 0。但目前 R 并没有告诉我对象 'a' 或对象 'b'被发现。我该如何解决这个问题?
【问题讨论】:
-
1) 你不能不求助于
assign但是 2) 不要。这并不是真正的 R 方法。如果要返回多个输出,请将它们放入一个列表并返回该列表。 -
一个愚蠢的问题:如果我的输出同时包含一个数组和一个向量,那么列表对它们来说是正确的数据结构吗?
-
@dasf - 是的,列表是正确的数据结构,它可以存储数组和向量(以及任何其他数据结构)。
-
另一个副本(如果你不喜欢标记的那个)function with multiple outputs.
标签: r output user-defined-functions