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,它不是一个简单的数字。