R definiuje operatora(tylda) do użycia w formułach. Wzory mają wszelkiego rodzaju zastosowań, ale chyba najbardziej powszechne jest dla regresji:
library(datasets)
lm(myFormula, data=iris)
help("~")
lub help("formula")
nauczy Cię więcej.
@Spacedman omówił podstawy. Porozmawiajmy o tym, jak to działa.
pierwsze, będąc operatora, trzeba pamiętać, że jest to w istocie skrót do funkcji (z dwoma argumentami):
> `~`(lhs,rhs)
lhs ~ rhs
> lhs ~ rhs
lhs ~ rhs
To może być pomocne, aby wiedzieć, na przykład do stosowania w apply
Polecenia rodzinne.
Po drugie, można manipulować formułę jako tekst:
oldform <- as.character(myFormula) # Get components
myFormula <- as.formula(paste(oldform[2], "Sepal.Length", sep="~"))
Po trzecie, można manipulować postaci listy:
myFormula[[2]]
myFormula[[3]]
Wreszcie, istnieje kilka przydatnych sztuczek z formuły (patrz: help("formula")
, aby uzyskać więcej informacji):
myFormula <- Species ~ .
Na przykład powyższa wersja jest taka sama jak wersja oryginalna, ponieważ kropka oznacza "wszystkie zmienne, których jeszcze nie użyto.". Spójrz na data.frame, którego używasz w ewentualnym wywołaniu modelu, widzi, które zmienne istnieją w data.frame, ale nie są wyraźnie wymienione w formule i zastępuje kropkę brakującymi zmiennymi.
Chcesz udostępnić link do samouczka? Brzmi interesująco. – cheeesus
@cheeesus ... Przeglądałem dane w e-bookach w R ze studiami przypadków ... można tam znaleźć o wiele więcej takich interesujących przykładów. – Ankita