मैं कुछ डिफ़ॉल्ट तर्कों को प्रतिस्थापित करने के लिए एक रैपर फ़ंक्शन बनाना चाहता हूं।आर: इलिप्सिस तर्क का उपयोग (...)
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
कर सकता है हालांकि, मैं कैसे इस सूची वापस अंडाकार तर्क करने के लिए "सम्मिलित" कर सकते हैं? की तरह (मैं जानता हूँ कि यह काम नहीं करेगा) कुछ:
... <- l
संपादित करें: मैं myplot
परिभाषा (@Thomas से जवाब में सुझाव के रूप में) में चूक इस्तेमाल कर सकते हैं, लेकिन मैं नहीं करना चाहता: समारोह इंटरफ़ेस अव्यवस्थित हो जाएगा। मुझे लगता है मैं उस तरह एक सहायक समारोह निर्धारित कर सकते हैं:
.myfunchelper <- function(x, cex= 2.0, ...) {
plot(x, cex= cex, ...)
}
myfunc <- function(x, ...) {
.myfunchelper(x, ...)
}
लेकिन (i) यह कम खूबसूरत है और (ii) मेरी जिज्ञासा को संतुष्ट नहीं करता है।
हाँ, लेकिन यह वही है जो मैं टालना चाहता हूं। वास्तविक समस्या जटिल है, और मैं फ़ंक्शन कॉल परिभाषा में डिफ़ॉल्ट डालना नहीं चाहता हूं - पहले से ही बहुत से तर्क हैं। – January
मैंने उत्तर के आधार पर अपडेट किया है: http://stackoverflow.com/questions/7028385/can-i-remove-an-element-in-dot-dot-dot-and-pass-it-on/7028786# 7028786 – Thomas