귀하의 예는 매트릭스가 아니라 data.frame입니다. 나는 data.frame 케이스를 참조 할 것이다.
S3 메서드는 Ops
그룹 일반 (methods("Ops")
참조)으로 전달됩니다. 관련 방법은 Ops.data.frame
입니다. 다음 날 부가 코멘트 일부 발췌 :
인수 경우
#create an unevaluated function call
FUN <- get(.Generic, envir = parent.frame(), mode = "function")
f <- if (unary)
quote(FUN(left))
else quote(FUN(left, right))
#...
#a lot of checking and preparations
#...
#loop over the columns, create the function input and evaluate the function call
for (j in seq_along(cn)) {
left <- if (!lscalar)
e1[[j]]
else e1
right <- if (!rscalar)
e2[[j]]
else e2
value[[j]] <- eval(f)
}
정수 벡터 및 정수 행렬 인 -
에 모두 정수 벡터로 처리되고,하지만 .Primitive("-")
는 dim
포함하는 속성을 유지 매트릭스의 공헌. help("-")
을 참조하십시오.
감사합니다. data.frame을 (를) 감독하십시오. data.frame과 행렬의 함수간에 중요한 차이가 있습니까? 아니면 코드가 본질적으로 동일합니까? 나는'Ops.matrix' 메소드를 찾지 못했습니다. – cdeterman
내 대답의 마지막 부분을 읽으십시오. 이 경우에는 S3 방법이 없습니다. '.Primitive' 함수에 의해 처리됩니다. – Roland