0
votes

Comment spécifier des colonnes subjectives pour une formule dans une fonction

considérer créé ici: xxx

Je veux écrire une fonction qui me permettra de spécifier les données, la variable de regroupement ( région , état ou loc ) et noms de ligne des variables ( var1 : var5 ) avec lequel Je veux qu'il effectue une Manova et retourne les résultats en format bien rangé. L'exécution de la fonction ressemblerait à quelque chose comme ceci: manova.test (dat = dat1, groupvar = "région", cols = 5: 9)

La fonction ressemblerait à ceci (qui ne fonctionne pas): xxx

Comment faites-vous cela? Je suis particulièrement confus sur la manière de spécifier la formule de ce format!


0 commentaires

3 Réponses :


1
votes

Vous pouvez utiliser obtenir pour renvoyer l'objet nommé dans la fonction. L'inconvénient est que la variable sera étiquetée get (groupvar) dans le résumé, donc je l'ai renommé dans votre fonction: xxx

créé sur 2020- 05-27 par le package Reprex (v0.3.0)


0 commentaires

0
votes

Si vous êtes juste inquiet pour la formule, vous étiez presque là. Cela devrait fonctionner

manova.test <- function(df, groupvar) {
  manova(cbind(var1, var2) ~ df[[groupvar]], data = df)
}

manova.test(dat1, "Region")


0 commentaires

0
votes

Voici une approche basée sur win-vector.com/blog/2018/09/r-tip-how-to-pass-a-formula-a-lm/, la chose cool à propos de cette solution est que vous pouvez étendre facilement groupvar pour plusieurs colonnes xxx


0 commentaires