Bonjour à tous,

J'ai un nombre conséquent d'opérations à faire sur plusieurs data.frames et plusieurs colonnes de ces dataframes. Je voudrais créer une fonction qui me donne le même résultat que le suivant (exemple en utilisant le jeu de données "mtcars") :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
with(mtcars,sum(mpg*disp)/sum(disp))
voici ce que j'ai essayé (sans succès :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
moy <- function (df,a,b) { 
                                    a <- df$a
                                    b <- df$b
                                    with(df,sum(a*b)/sum(b))
                                    }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
> moy(mtcars,mpg,disp)
[1] NaN
si je ne crée pas d'objet pour a et b il me dit qu'il ne trouve pas l'objet correspondant à l'argument. Y a-t-il une méthode?

Merci beaucoup!!