保存函数的对象而不在R

时间:2016-08-09 08:44:13

标签: r function

我有一个包含多个元素的函数,我可以访问(a1a2f1)。为此,我在函数返回时添加了一个列表。 return(list(a1=a2,a2=a2,f1=f1))

然而,当我运行该功能时,有一些我不想打印。例如a2f1。所以我的问题是我是否可以a2f1访问我的对象而不打印?

2 个答案:

答案 0 :(得分:4)

只需使用<-将函数的结果分配给变量即可。例如,如果您的功能为foo,只需执行foo()即可将结果列表打印到屏幕,但res <- foo()则不会,您可以访问res$a1,{{1 }和res$a2

如果您想要打印某些变量,请明确调用res$f1。例如,放在函数的末尾:

print()

有时我们希望以静默方式返回所有函数值。我们可以做到

print(a1)
return(list(a1=a1, a2=a2, f1=f1))

答案 1 :(得分:1)

我不知道我是否正确但你可以调用该函数并将输出分配给变量,以便稍后可以选择要打印的内容。

命名列表也会对你有帮助。

编辑:使用@ cuttlefish44建议添加了列表名称。

SomeFunctionName <- function(){

    a <- 1
    b <- rep(1,10)
    c <- rep("aaa",20)
    d <- list(a = a,b = b,c = c)
    return(d)
}

var <- SomeFunctionName()

var$a
var$b
var$c

命名列表也会对你有帮助。