[英]r function: multiple linear regression prediction estimate and interval (user-defined function)
[英]How to do linear regression on a 'user-defined' formula in R?
我有一个包含5个独立变量的数据框,并且我希望线性方程采用以下形式:
y = A (a + pA + qB + rC + sD + tE)
其中A
, B
, C
, D
和E
是我的自变量,而p
, q
, r
, s
和t
是我需要找到的系数。
在R
使用lm()
命令,您可以执行以下操作:
#Pseudo Data
y = rnorm(100)
A = rnorm(100)
B = rnorm(100)
C = rnorm(100)
D = rnorm(100)
E = rnorm(100)
AB = A*B
AC = A*C
AD = A*D
AE = A*E
model = lm(y~-1+A+AB+AC+AD+AE)
产生:
> model
Call:
lm(formula = y ~ -1 + A + AB + AC + AD + AE)
Coefficients:
A AB AC AD AE
0.1896753 -0.0835971 -0.0183475 -0.0007795 -0.0174815
>
> summary(model)
Call:
lm(formula = y ~ -1 + A + AB + AC + AD + AE)
Residuals:
Min 1Q Median 3Q Max
-2.05531 -0.58641 0.08847 0.73281 2.86074
Coefficients:
Estimate Std. Error t value Pr(>|t|)
A 0.1896753 0.1084157 1.750 0.0834 .
AB -0.0835971 0.1088133 -0.768 0.4442
AC -0.0183475 0.1264781 -0.145 0.8850
AD -0.0007795 0.0930502 -0.008 0.9933
AE -0.0174815 0.1140712 -0.153 0.8785
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.957 on 95 degrees of freedom
Multiple R-squared: 0.03374, Adjusted R-squared: -0.01712
F-statistic: 0.6634 on 5 and 95 DF, p-value: 0.6521
在formula
变量之间使用:
命令,以获取它们的乘积交互作用而没有主要影响。 例如:
y = A (a + pA + qB + rC + sD + tE)
我不能告诉,如果你试图压制拦截,但我相信这样,因为你还没有把a
所希望estimands的列表。
y ~ 0 + A + A:B + A:C + A:D + A:E
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.