-->

一个R编程语言使用〜(波浪号)的(Use of ~ (tilde) in R programming

2019-07-20 05:35发布

我在一个关于回归建模以下命令教程看到:

myFormula <- Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width

这究竟命令做的,什么是角色~ (波浪号)的命令?

Answer 1:

上的右侧的事<-formula对象。 它经常被用来表示一个统计模型,其中在左侧的事~是响应和右面的东西~是解释变量。 因此,在英语你会这样说:“物种依赖于萼片长,萼片宽度,花瓣长度和花瓣宽度”。

所述myFormula <-该线的一部分存储在称为对象式myFormula以便可以在你的R代码里面其他部分使用它。


中的R式对象的其他常见的用途

lattice包使用它们来指定变量的情节 。
ggplot2包使用它们来进行绘图指定面板 。
dplyr包使用他们为非标准计算结果为 。



Answer 2:

ř限定~对于在公式中使用(波浪号)运算符。 公式有各种用途,但也许是最常见的是回归:

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存在变数,但是没有在公式中明确提及,并与失踪的变量替换点。



文章来源: Use of ~ (tilde) in R programming Language
标签: r r-faq