일부 기본 인수를 바꾸는 래퍼 함수를 만들고 싶습니다. 이제R : 줄임표 인수 사용 (...)
Error in localWindow(xlim, ylim, log, asp, ...) :
formal argument "cex" matched by multiple actual arguments
컨텍스트의 비트 : 여기
문제의 핵심은 내가 함께 사투를 벌인거야.myplot <- function(x, ...) {
plot(x, cex= 1.5, ...)
}
내가 위의 오류를 얻을 것이다 myplot(1:10, cex= 2)
를 호출하는 경우 :이 같은 음모에 대한 래퍼 함수를 정의하자. 나는 목록
l <- list(...)
에 ...
을 설정할 수 있습니다 알고 나는 그러나
if(is.null(l[["cex"]])) l[["cex"]] <- 2
을 할 수있는, 내가 어떻게 다시 줄임표 인수에이 목록을 "삽입"할 수 있습니까? (I이 작동하지 않습니다 알고) 식으로 뭔가 :
... <- l
편집 : 나는 (@Thomas에서이 질문에 대해 제안) myplot
정의에 기본값을 사용할 수 있습니다,하지만 난하지 않으려 : 함수 인터페이스 뒤죽박죽이 될 것이다. 내가 도우미 함수처럼 정의 할 수 있습니다 같아요
.myfunchelper <- function(x, cex= 2.0, ...) {
plot(x, cex= cex, ...)
}
myfunc <- function(x, ...) {
.myfunchelper(x, ...)
}
그러나 (내가) 덜 우아 및 (ii) 내 호기심을 만족하지 않습니다.
네,하지만 이것은 제가 피하고 싶습니다. 실제 문제는 복잡하며 함수 호출 정의에 기본값을 넣고 싶지 않습니다. 이미 너무 많은 인수가 있습니다. – January
다음 답변의 내용을 기반으로 업데이트했습니다. http://stackoverflow.com/questions/7028385/can-i-remove-an-element-in-dot-dot-dot-and-pass-it-on/7028786# 7028786 – Thomas