2012-08-04 71 views
5

我预期以下代码返回一个95%置信区间的下限和上限:传递对象到一个错误返回结果

confint95 = function(mean, se) 
{ 
    confint = abs(se*1.96) 
    lower = abs(mean-cint) 
    upper = abs(mean+cint) 
    return(lower,upper) 
} 

但这给出了这样的消息:

Error in return(lower, upper) : multi-argument returns are not permitted 

如何设置函数返回95%置信区间的下限和上限?

+3

'返回(C(下,上))' – Andrie 2012-08-04 07:43:49

回答

11

函数将返回最后一个表达式。如果你想了一下没有return。如果您将该功能作为最后一个要评估的表达式,则会产生错误

lower, upper 

它会产生错误。如果你有IDE,它也可能会抱怨语法错误。 @Andrie指出,您可以通过将两个元素与c相结合来解决这个问题。人类,你需要传递一个单一的对象。我经常使用列表来输出不同的数据结构。在你的情况下,矢量绰绰有余。

1

到reurn两个或两个以上的结果,使用 “C”

dummy <- function(){ 
    a <- 1 
    b <- 22 
    return(a,b) 
} 

dummy() 

# Error in return(a, b) : multi-argument returns are not permitted 

dummy2 <- function(){ 
    a <- 1 
    b <- 22 
    return(c(a,b)) 
} 

dummy2() 
# [1] 1 22