2012-08-04 26 views
5

tôi mong đợi đoạn mã sau để trả lại cận dưới và trên của khoảng tin cậy 95%:đối tượng đi qua để đưa ra kết quả trong một lỗi

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

Nhưng điều này mang lại thông điệp này:

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

Làm thế nào tôi có thể thiết lập chức năng để trả về giới hạn dưới và trên của khoảng tin cậy 95%?

+3

'trở lại (c (thấp hơn, phía trên)) ' – Andrie

Trả lời

11

Hàm sẽ trả về biểu thức cuối cùng. Nếu bạn suy nghĩ một lúc mà không cần return. Nếu bạn đã đưa hàm này làm biểu thức cuối cùng để được đánh giá

lower, upper 

nó sẽ tạo ra lỗi. Nếu bạn có IDE nó cũng có thể sẽ phàn nàn về một lỗi cú pháp. Bạn sẽ giải quyết điều đó bằng cách kết hợp hai phần tử với một số c như @Andrie chỉ ra. Ergo, bạn cần phải vượt qua một đối tượng duy nhất. Tôi thường sử dụng danh sách để xuất các cấu trúc dữ liệu khác nhau. Trong trường hợp của bạn, một vector là quá đủ.

1

để reurn hai hoặc nhiều kết quả, sử dụng "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 
Các vấn đề liên quan