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,查看 data.frame 中存在哪些变量但您的公式中没有明确提及,并用那些缺失的变量替换点。