2013-02-12 84 views
1

我是R新手。我想添加一列,將其解釋爲當前數據框的攔截列。任何有用的意見將是欣賞。將攔截列添加到數據集

謝謝! 伊薩克

+2

您可以簡單地使用「cbind()」,例如, d <-diag(9) d <-cbind(rep(1,dim(d)[1]),d) – Arne 2013-02-12 15:11:11

+2

歡迎訪問站點Issac,查看[常見問題](http://stats.stackexchange的.com/FAQ)。根據您的問題中的信息,您希望對數據進行某種迴歸分析。您不需要數據中的截距作爲列,您可以直接將其包含在模型公式中(例如'model < - lm(Y〜1 + X1)',對於以Y爲因變量的線性模型並將X1作爲一個獨立的,1是你的攔截)。如果我誤解您正在嘗試做的事情,您可以編輯您的問題以提供更多信息。 – 2013-02-12 15:23:46

+0

我試圖冷杉的模型是一個有兩個響應的多變量線性混合模型,我想檢查截距 - 只適合隨機效應預測器,以便對初始DIC值進行初始估計。 – Issac 2013-02-12 15:31:58

回答

0

這應該工作:

incpt < - 代表(1 NROWS(DF))

DF < - as.data.frame(cbind(incpt,DF))

2

由於回收利用,您只需要d$one <- 1即可在數據框d中創建一列名稱爲one的列。但@AntoineVernet是完全正確的,即使你有一個複雜的混合模型,這幾乎是不必要的。

試試這些模型(它比你更簡單)並檢查輸出以瞭解我的意思。

set.seed(5) 
d <- data.frame(x = rep(1:3, 5), 
       y = round(rnorm(15, mean=10), 1), 
       g = factor(rep(1:5, each=3))) 
d$one <- 1 

library(lme4) 
lmer(y ~ x + (1|g), data=d) 
lmer(y ~ (1|g), data=d) 
lmer(y ~ 1 + (1|g), data=d) 
lmer(y ~ 0 + one + (1|g), data=d)