我在关于回归建模的教程中看到以下命令:
myFormula <- Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width
这个命令到底做了什么,命令中~
(波浪号)的作用是什么?
<-
右边的东西是一个formula
对象。它通常用来表示统计模型,其中~
左边的东西是响应,~
右边的东西是解释变量。所以在英语中你会说“物种取决于萼片长度,萼片长度,
该行的myFormula <-
部分将公式存储在名为myFormula
的对象中,以便您可以在 R 代码的其他部分中使用它。
R 中公式对象的其他常见用法
lattice
包将它们用于specify the variables to plot。ggplot2
包将它们用于specify panels for plotting。dplyr
包将它们用于non-standard evaulation。
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 中存在哪些变量,但在公式中没有明确提及,并用这些缺失的变量替换点。
总之,
The tilde
(~)separates the left side of a formula with the right side of the formula.
例如,在线性函数中,它会将因变量与自变量分开,并且可以解释为“作为…的函数”。因此,当一个人的工资(工资)作为其受教育年限(years_of_education)的函数时,我们会做类似的事情,
wages ~ years_of_education
在这里
Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width
这意味着,Species
是Sepal Length, Sepal Width, Petal Length and Petal Width
的函数。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(39条)