Tôi có một chức năng f
rằng có hai tham số (p1
và p2
):Kiểm tra xem một cuộc tranh cãi của một hàm được thiết lập hay không trong R
Nếu cho tham số p2
không có giá trị được truyền cho hàm, giá trị của p1
^2 nên được sử dụng thay thế. Nhưng làm thế nào tôi có thể tìm ra trong hàm, nếu một giá trị được đưa ra hay không. Vấn đề là biến số p2
không được khởi tạo nếu không có giá trị. Vì vậy, tôi không thể kiểm tra cho p2
là NULL
.
f <- function(p1, p2) {
if(is.null(p2)) {
p2=p1^2
}
p1-p2
}
Bằng cách nào đó bạn có thể kiểm tra xem giá trị cho p2
có được chuyển đến hàm hay không? (Tôi không thể tìm thấy isset()
- chức năng hoặc những thứ tương tự.)
1 cho môi trường 'thay thế mặc định NULL'. Re: EDIT bạn thêm vào, làm thế nào bạn sẽ vượt qua 'missing''ness xuống thông qua các chức năng wrapper? –
@ JoshO'Brien Vượt qua 'mất tích'-ness trên là phức tạp AFAIK - nhưng có thể. Đó là lý do tại sao 'NULL' dễ dàng hơn nhiều trong trường hợp này. – Tommy
... Vì vậy, một câu hỏi riêng biệt có thể được đảm bảo cho việc truyền 'thiếu'-ness lên. – Tommy