Xin lỗi cho tiêu đề, không chắc chắn cách khác để cụm từ câu hỏi này.R S4 setMethod '[' phân biệt đối số còn thiếu?
Nếu tôi muốn tạo setMethod
trên một lớp học, làm cách nào để phân biệt giữa các trường hợp tương tự mat[i,]
và mat[i]
?
tôi biết cựu Tôi có thể sử dụng:
setMethod("[",
signature(x = "foo", j = "missing", drop = "missing"),
function(x,i,j,drop) return(myFunc(x,i))
)
Làm thế nào tôi có thể thiết lập một phương pháp để phân biệt sau này, nơi tôi sẽ không muốn để chọn hàng nhưng các yếu tố như trong lớp base
matrix
?
Nhìn vào các tài liệu ?[
tôi mong đợi một cái gì đó như sau sẽ làm việc:
setMethod("[",
signature(x = "foo", i = "numeric"),
function(x,i,j,drop) return(myFunc(x,i))
)
nhưng nó xung đột với bất kỳ phương pháp xác định trước đó nơi j
và drop
đang thiếu.
Ý tưởng là giống như
mat <- matrix(seq(9), 3, 3)
mat[c(1,3),]
1 4 7
3 6 9
mat[c(1,3)]
[1] 1 3
Điều đó dường như thực hiện thủ thuật – cdeterman