R 中的波浪号 (~) 运算符
tilde(~) operator in R
根据 R 文档:~ 运算符在公式中用于分隔公式的右侧和左侧。右侧是自变量,左侧是因变量。我了解何时在 lm() 包中使用 ~ 。但是下面是什么意思?
x~ 1
右边是1,什么意思?可以是任何其他数字而不是 1 吗?
来自?lm
:
[..] when fitting a linear model y ~ x - 1 specifies a line through the
origin [..]
公式中的"-"
删除指定项。
所以y ~ 1
只是一个有常数(截距)且没有回归量的模型。
lm(mtcars$mpg ~ 1)
#Call:
#lm(formula = mtcars$mpg ~ 1)
#
#Coefficients:
#(Intercept)
# 20.09
Can it be any other number instead of 1?
不,只是试试看。
lm(mtcars$mpg ~ 0)
告诉R去掉常量(等于y ~ -1
),lm(mtcars$mpg ~ 2)
给出错误(正确)。
你应该把y ~ 1
读成公式里面的y ~ constant
,它不是一个简单的数字。
根据 R 文档:~ 运算符在公式中用于分隔公式的右侧和左侧。右侧是自变量,左侧是因变量。我了解何时在 lm() 包中使用 ~ 。但是下面是什么意思?
x~ 1
右边是1,什么意思?可以是任何其他数字而不是 1 吗?
来自?lm
:
[..] when fitting a linear model y ~ x - 1 specifies a line through the origin [..]
公式中的"-"
删除指定项。
所以y ~ 1
只是一个有常数(截距)且没有回归量的模型。
lm(mtcars$mpg ~ 1)
#Call:
#lm(formula = mtcars$mpg ~ 1)
#
#Coefficients:
#(Intercept)
# 20.09
Can it be any other number instead of 1?
不,只是试试看。
lm(mtcars$mpg ~ 0)
告诉R去掉常量(等于y ~ -1
),lm(mtcars$mpg ~ 2)
给出错误(正确)。
你应该把y ~ 1
读成公式里面的y ~ constant
,它不是一个简单的数字。