Venables 및 Ripley가 저술 한 "통계 및 계산"이라는 책에는 일반 그룹 함수 Math에 대한 클래스 "다항식"의 개체에 대한 메서드 함수 정의에 대한 예제가 있습니다. Math는 abs, acos, acosh 등의 일부 구성 요소 함수가있는 그룹 함수입니다.R의 기능 스위치() 이해하기?
다음은 그룹 일반 함수 Math에 대한 메서드 함수를 정의하는 책에서 언급 된 코드입니다 (코드는 S4 클래스 용입니다. (새로운 스타일의 R/S 클래스)) :
setMethod("Math", "polynomial",
function(x) {
switch(.Generic, ceiling = , floor = ,
trunc = polynomial(callGeneric([email protected]), rat = [email protected]),
stop(paste(.Generic, "not allowed on polynomials"))
)}
)
나는 그것이 클래스 "다항식"의 객체라고 할 때 setMethod를()로 우리는 일반적인 함수 수학하는 방법 기능을 정의하는 것으로 알고 있습니다. 여기서 어떤 스위치가 작동하는지 설명해 주시겠습니까? 나는 스위치의 R 도움말을 읽을 수는 있지만 여전히 어려움이 아래 부분 이해가 : 다항식 함수는 위의 클래스 "다항식"의 객체를 생성하는 생성자 함수입니다
switch(.Generic, ceiling = , floor = ,
trunc = polynomial(callGeneric([email protected]), rat = [email protected]),
stop(paste(.Generic, "not allowed on polynomials"))
)}
참고.
감사합니다. @MvG. 당신의 대답은 매우 도움이되었습니다. – Sam
누군가이 대답을 downvoted, 이렇게 특별한 이유가 있습니까? 내가 만든 모든 오류? 나는 코멘트를 주시면 감사하겠습니다. – MvG
나는 실제로 대답 모두 +1을 주었고 대답은 나의 주요 질문 중 두 가지 (. 일반 및 =)를 지적했기 때문에 나는 "받아 들인 대답"을 주었다. – Sam