在使用各种回归时,需要写明拟合公式。最常见的形式如下:
y~x1+x2 #可以增加任意数量的自变量
若要加入自变量之间的交互作用,可以使用以下写法
y~x1+x2+x1:x2
y~(x1+x2)^2 #'^'表示最多n阶交互
可以用'*'表示所有交互,如:
x1*x2*x3即:x1+x2+x3+x1:x2+x2:x3+x1:x3+x1:x2:x3
(x1+x2+x3)^2即:x1+x2+x3+x1:x2+x2:x3+x1:x3
当自变量数量非常多时,一个个写出来太麻烦,于是可以简写如下:
y~.
若要考虑所有自变量之间的交互作用,可以写为:
y~.^2 #二阶交互作用
y~.^3 #三阶交互作用
若只需考察某些自变量,可以先按一定标准挑出变量名,然后转为公式。
fo=as.formula(paste("y ~ ", paste(xname, collapse= "+")))
若需去除某些自变量,可以写为:
y~(x1+x2)^2-x2
若要去除常数项,可以写为
y~x1-1
y~0+x1
若需将某些自变量进行一定运算,则可利用'I'将这些运算括起来,以免这些运算符造成混乱。
y~x1+I(x2+x3) #拟合公式包含两项,x1和sum(x2,x3)
y~x1+I(x2*x3)
y~x1+I(x2^x3)