2016-08-28 31 views
0

我正在使用R處理145個觀測值的樣本。我創建了五個子樣本,每個樣本有29個觀測值,而響應變量q已經排序。其結果是,SUBSET1包含29行具有最低輸出的數據幀的,SUBSET2包含以下29線等R:多個子採樣迴歸的約束係數和誤差方差

我回歸對預測x1x2 ANS 可變q。我現在需要執行兩個實驗:

  1. 約束所有子樣本的誤差方差是相同的;
  2. 限制x2和上的係數以及5個OLS迴歸中的誤差方差相同。

到目前爲止,我的方法是使用允許執行面板迴歸的程序包plm。但是,我不知道具體限制誤差方差或特定係數。此外,我認爲必須有一種方法可以使用R中包含的更基本的工具來實現這一點。

請不要猶豫,以提供替代方法。在此先感謝您的幫助 !

回答

2

看起來這是你所需要的:

set.seed(0) 
dat <- data.frame(q = sort(rnorm(145)), x1 = rnorm(145), x2 = rnorm(145), 
        x3 = rnorm(145), group = gl(5, 29)) 

fit <- lm(q ~ x1 * group + x2 + x3, data = dat) 

#Coefficients: 
#(Intercept)   x1  group2  group3  group4  group5 
# -1.211435  0.049316  0.610405  1.128571  1.631891  2.502886 
#   x2   x3 x1:group2 x1:group3 x1:group4 x1:group5 
# -0.027927 -0.015151 -0.004244 -0.074085 -0.044885 -0.074637 

在這裏,我已經介紹了聚合因子變量group。所有五組的模型估計是在同一時間完成的。用式:

q ~ x1 * group + x2 + x3 

我們x2和是所有組相同的係數。雖然交互x1*group表明我們對於不同的組有不同的截距和斜率x1

如果你不想爲每個組不同的攔截,您可以使用公式:

q ~ x1 + x1 : group + x2 + x3 
+0

謝謝,成功了!我不知道gl函數,也不知道最後的語法來獲得不同的截取。 – Magean