R définit un ~
opérateur (tilde) à utiliser dans les formules. Les formules ont toutes sortes d'utilisations, mais la plus courante est peut-être la régression:
library(datasets)
lm( myFormula, data=iris)
help("~")
ou help("formula")
vous en apprendra plus.
@Spacedman a couvert les bases. Voyons comment cela fonctionne.
Tout d'abord, étant un opérateur, notez qu'il s'agit essentiellement d'un raccourci vers une fonction (avec deux arguments):
> `~`(lhs,rhs)
lhs ~ rhs
> lhs ~ rhs
lhs ~ rhs
Cela peut être utile à savoir pour une utilisation par exemple dans apply
les commandes familiales.
Deuxièmement, vous pouvez manipuler la formule sous forme de texte :
oldform <- as.character(myFormula)
myFormula <- as.formula( paste( oldform[2], "Sepal.Length", sep="~" ) )
Troisièmement, vous pouvez le manipuler sous forme de liste :
myFormula[[2]]
myFormula[[3]]
Enfin, il existe quelques astuces utiles avec des formules (voir help("formula")
pour plus d'informations):
myFormula <- Species ~ .
Par exemple, la version ci-dessus est la même que la version originale, puisque le point signifie «toutes les variables non encore utilisées». Cela examine le data.frame que vous utilisez dans votre appel de modèle éventuel, voit quelles variables existent dans le data.frame mais ne sont pas explicitement mentionnées dans votre formule, et remplace le point par ces variables manquantes.