2013-09-05 62 views
2

我有5個獨立的變量的數據幀和我想要的線性方程,以在這種形式:如何對R中的'用戶自定義'公式進行線性迴歸?

y = A (a + pA + qB + rC + sD + tE) 

其中ABCDE是我的自變量,pqrst是我需要找到的係數。

+5

我假設你的結果($ y $)受到隨機錯誤的影響,否則這不會是一個統計問題......無論如何,這看起來像普通[線性迴歸](http://en.wikipedia .org/wiki/Linear_regression),其中你沒有攔截,預測變量是$ A,A^2,AB,AC,AD $和$ AE $。你的問題到底是什麼? (p.s.調用$ a $ $ $ $ intercept不太正確......你寫這個的方式,$ a $是$ A $的斜率)。 – Macro

+0

如果$ a $是截距,是否意味着你想要對此進行建模:$$ y = a + A(pA + qB + ​​rC + SD + tE)+ \ varepsilon $$或者@Macro問題是你想要的嗎? – 2013-09-05 16:50:10

+0

對不起。我的意思是@Macro所說的(即'a'是'A'的斜率,預測因子是A,A^2,AB,AC,AD和AE)。我如何去做R呢?我對R編程非常新,而且只使用函數'lm'進行簡單的線性迴歸建模。 – 2013-09-05 17:18:48

回答

2

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 
+1

這將工作,但用戶應該注意包含沒有主效果的互動條款... – Macro

+0

同意。我只是複製了他們上面列出的模型。如果OP想要主效應,那麼他們也可以執行以下操作:'model = lm(y〜-1 + A + B + C + D + EAB + AC + AD + AE)' – 2013-09-05 17:37:55

+0

對於OP自己的教化,從上面的命令中刪除'-1'也會給他們一個截獲期限,如果他們想要的話。 – 2013-09-05 17:38:50

1

使用:命令變量之間的formula獲得他們乘相互作用沒有主效應。例如:

y = A (a + pA + qB + rC + sD + tE)

我不能告訴,如果你試圖壓制攔截,但我相信這樣,因爲你還沒有把a在期望estimands的列表。

y ~ 0 + A + A:B + A:C + A:D + A:E