Có ai xếp chung/tìm phương pháp tốt để liệt kê tất cả các phương thức S3 có sẵn cho một đối tượng nhất định? Hàm methods()
dựng sẵn sẽ cung cấp tất cả các phương thức có sẵn cho một lớp được chỉ định, hoặc cho một hàm chung được chỉ định, nhưng không cho một đối tượng.có chức năng trả về tất cả các phương pháp S3 áp dụng cho một đối tượng
Ví dụ tôi có trong tâm trí là một đối tượng glm
, mà là của lớp "glm"
(nhỏ?) Mà còn được thừa hưởng từ "lm"
g <- glm(y~x,data=data.frame(x=1:10,y=1:10))
class(g)
## [1] "glm" "lm"
Có 35 phương thức của lớp "lm" và 22 cho "GLM ". Tôi quan tâm đến một câu trả lời mà kết hợp các kết quả của
lapply(class(g),function(x) methods(class=x))
một cách hợp lý, vì vậy mà tôi có thể thấy ngay (ví dụ) rằng có một phương pháp cụ thể glm
cho add1
, nhưng đó là phương pháp cho alias
được kế thừa từ lớp lm
.
Có ai đó có cách khéo léo để thực hiện việc này hay không?
PS Steve Walker's S3-S4-reference class glossary cho thấy rằng công trình này tự động hoạt động cho các lớp tham chiếu, nơi chúng tôi phải sử dụng một đối tượng để lấy các phương pháp (x$getRefClass()$methods()
).
Một chút sai lầm khi yêu cầu các phương thức của một lớp S3, vì trong S3 các hàm của nó có các phương thức chứ không phải các lớp. – hadley