में सामान्य लापता तर्क दें मेरे पास छोटे कार्यों का एक गुच्छा है जो rnorm
या sample
के समान यादृच्छिक तार उत्पन्न करते हैं। सादगी के लिए इन कार्यों में सभी सामान्य तर्क हैं, मान लें कि एक आम तर्क n
है। मैं एक बड़ा फ़ंक्शन (कार्यात्मक) बनाना चाहता हूं जो n
और तर्क प्लस ...
लेता है जो कि छोटे कार्यों में से कोई भी हो सकता है। यह मेटा फ़ंक्शन सेट n
के साथ छोटे कार्यों का मूल्यांकन करता है यदि उनके पास यह तर्क है।कार्यात्मक
## लिटिल कार्य
fun1 <- function(n, x = 1:10) sample(x, n, TRUE)
fun2 <- function(n, x = LETTERS) sample(x, n, TRUE)
fun3 <- function(n, x = 50) rnorm(n, x)
fun4 <- function(n, x = 100, y = 10) rnorm(n, x, y)
कार्यात्मक (मेटा फंक्शन)
combiner <- function(n, ...){
## Where the magic needs to happen. Set n for `fun1` `fun2` and `fun4`
## evaluate all these functions
}
## Here we pass `n = 6`
combiner(
6,
fun1(),
fun2,
rnorm(),
fun4(y=8)
)
मैं इसे कार्यों भले ही वे ()
भूल रहे हैं मूल्यांकन करने के लिए करना चाहते हैं: यहाँ एक उदाहरण है जैसा कि fun2
के साथ मामला है लेकिन यह एक अच्छी तरह से अधिक है। मुझे लगता है कि यह संभव है क्योंकि magrittr पाइप ऐसा कर सकते हैं।
## वांछित आउटपुट
list(
fun1(6),
fun2(6),
rnorm(6),
fun4(6, y=8)
)
## OUTPUT IS SEED DEPENDANT
## [[1]]
## [1] 2 1 6 6 1 1
##
## [[2]]
## [1] "V" "Z" "A" "F" "F" "G"
##
## [[3]]
## [1] -0.91932716 -0.05833169 1.75440750 2.19959565 -0.11145315 1.32216601
##
## [[4]]
## [1] 107.48747 89.55798 93.15771 111.32380 100.82104 104.07829
मैं हर तरह से जो खिलवाड़ किया गया था, लेकिन कभी कभी उपयोग नहीं किया 'that.I've के पास मिला as.call' पहले। धन्यवाद। –