Ho un po 'di piccole funzioni che generano stringhe casuali simili a rnorm
o sample
. Queste funzioni hanno tutte argomenti comuni, per semplicità diciamo che un argomento comune è n
. Mi piacerebbe fare una funzione più grande (funzionale) che prende il n
come argomento + ...
che può essere una delle poche funzioni. Questa meta funzione valuta le piccole funzioni con l'insieme n
se hanno questo argomento. ecco un esempio:Fornire l'argomento mancante comune nel funzionale
## FUNZIONI DI PICCOLI
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)
FUNZIONALE (FUNZIONE META)
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)
)
mi piacerebbe che per valutare le funzioni anche se sono mancanti ()
come è il caso con fun2
sopra, ma questo è più di un buon gusto. Penso che questo sia possibile perché le pipe magrittr possono farlo.
## uscita desiderata
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
avrei dovuto vedermela ogni modo, ma mai arrivato vicino al that.I've mai usato ' as.call' prima. Grazie. –