2011-12-12 4 views
4

Dire que j'ai une fonction appeléePassant deux fonctions de paramètres en appliquer

myfun <- function(x,y) {median(x,y)} # obviously the actual function is 
            # something more complicated 

Maintenant, supposons que dans une certaine utilisation, le paramètre y est constant, (par exemple c(1,2,3,4,5)). Y a-t-il un moyen de transmettre cela sans l'encapsuler dans une autre fonction? dire
au lieu de

apply(mydf, 2, function(x) myfun(x, c(1,2,3,4,5))) 

pour passer quelque chose comme

apply(mydf, 2, myfun(,(c(1,2,3,4,5)))) 

Ceci est purement cosmétique et je sais qu'il ne changera pas grand-chose à la durée de fonctionnement. Je veux juste savoir si une option comme cela est possible parce que ma fonction d'emballage dans une fonction à chaque fois semble inefficace

+1

Les arguments optionnels peuvent être passés à FUN via le '...' dans apply comme documenté dans l'aide de '? Apply'. – Chase

Répondre

8

Je pense que cela devrait fonctionner:

apply(mydf, 2, myfun, y = c(1,2,3,4,5)) 

non testé Remains je ne peux pas accéder à R droite à présent.

Questions connexes