Bonjour,
Je débute la programmation sur le logiciel R et j'aurais aimé savoir s'il est possible de remplir automatiquement les arguments de la fonction lm. Je m'explique : je possède un jeu de donnée appelé X (j'ai joint une image en pj pour + de clarté) simulant un plans d'expérience de 4 variables avec leurs interactions respectives d'ordre 1 (soit un total de 10 variables). Je souhaite faire de la régression multilinéaire afin de modéliser mon phénomène à l'aide de la fonction lm(X, Y~M+v+di+du+Mv+Mdi+...+didu). J'aimerais savoir s'il est possible d'éviter d'avoir à remplir la partie "formule " de la fonction lm lorsqu'on charge un nouveau jeu de données ?
J'étais partis sur l'idée d'insérer des caractères textes mimant l'expression de mes facteurs puis d'utiliser un as.formula mais ça ne passe pas. J'avoue sécher sur ce coup là, donc si vous avez des idées je suis preneur. J'ai mis un exemple en tentant le coup avec une seule variable (M).
> F=c("M")
> lm(data=X, as.formula(Y~F))
Error in model.frame.default(formula = as.formula(Y ~ F), data = X, drop.unused.levels = TRUE) :
les longueurs des variables diffèrent (trouvé pour 'F')
J'en profite également pour vous poser une deuxième questions plus minoritaire. Sur ce même jeu de donnée, savez-vous s'il est possible de parvenir à faire afficher le nom des colonnes sous la forme (X1, X2, X3, ....) ? Pour être + exact, j'aimerais passer de :
A= colnames(X)
[1] "M" "v" "di" "du" "Mv" "Mdi" "Mdu" "vdi" "vdu"
[10] "didu" "Y"
à A=("M", "v", "di", "du"....)
D'avance merci pour vos retours
![]()
Partager