R определяет оператор ~
(тильда) для использования в формулах. Формулы имеют все виды использования, но, пожалуй, наиболее распространенным является для регрессии:
library(datasets)
lm(myFormula, data=iris)
help("~")
или help("formula")
научит вас больше.
@Spacedman осветил основы. Давайте обсудим, как это работает.
Во-первых, будучи оператором, обратите внимание, что это по существу ярлык функции (с двумя аргументами):
> `~`(lhs,rhs)
lhs ~ rhs
> lhs ~ rhs
lhs ~ rhs
Это может быть полезно знать для использования в, например, apply
Семейные команды.
Во-вторых, вы можете манипулировать формулу как текст:
oldform <- as.character(myFormula) # Get components
myFormula <- as.formula(paste(oldform[2], "Sepal.Length", sep="~"))
В-третьих, вы можете манипулировать как список:
myFormula[[2]]
myFormula[[3]]
Наконец, есть некоторые полезные приемы с формулы (см. help("formula")
для получения дополнительной информации):
myFormula <- Species ~ .
Например, версия выше аналогична исходной версии, поскольку точка означает «все переменные, которые еще не использовались». В этом случае вы можете использовать данные, которые вы используете в своем конечном вызове модели, и какие переменные существуют в файле data.frame, но явно не указаны в вашей формуле и заменяют точку теми отсутствующими переменными.
Уход за предоставлением ссылки на учебник? Звучит интересно. – cheeesus
@cheeesus ... Я проходил анализ данных ebook в R с тематическими исследованиями ... там вы можете найти еще много таких интересных примеров. – Ankita