2012-08-04 9 views
5

me espera el siguiente código para devolver los límites inferior y superior del intervalo de confianza del 95%:objetos que pasan a devolver resultados en un error

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

Pero esto da este mensaje:

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

¿Cómo puedo configurar la función para devolver los límites inferior y superior de un intervalo de confianza del 95%?

+3

'retorno (c (inferior, superior))' – Andrie

Respuesta

11

La función devolverá la última expresión. Si piensas por un momento sin return. Si proporcionó la función como la última expresión para evaluar

lower, upper 

, produciría un error. Si tiene IDE, probablemente también se quejaría de un error de sintaxis. Lo resolvería combinando los dos elementos con un c como indicó @Andrie. Ergo, necesitas pasar un solo objeto. A menudo uso listas para generar diferentes estructuras de datos. En tu caso, un vector es más que suficiente.

1

a reurn dos o más resultados, utilice "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 
Cuestiones relacionadas