創建係數從COEF功能的矩陣從這個代碼:R中
treatment <- factor(rep(c(1, 2), c(43, 41)),
levels = c(1, 2),
labels = c("placebo", "treated"))
improved <- factor(rep(c(1, 2, 3, 1, 2, 3), c(29, 7, 7, 13, 7, 21)),
levels = c(1, 2, 3),
labels = c("none", "some", "marked"))
numberofdrugs <- rpois(84, 10) + 1
healthvalue <- rpois(84, 5)
y <- data.frame(healthvalue, numberofdrugs, treatment, improved)
test <- glm(healthvalue~numberofdrugs+treatment+improved + treatment:improved, y, family=poisson)
summary(test)
我們得到了使用COEF下列()函數:
> coef(test)
(Intercept) numberofdrugs treatmenttreated
1.549172817 0.004261529 0.014634807
improvedsome improvedmarked treatmenttreated:improvedsome
0.201150827 -0.129251907 -0.258841251
treatmenttreated:improvedmarked
0.051326071
我想安排的係數變量轉換成矢量,並將相互作用的係數轉換成矩陣,以便更容易地處理它們。
例如:
coef.intercept=(1.5491)
coef.numberofdrugs=(0.00426)
coef.treatment=(0, 0.01463)
coef.improved=(0, 0.2011, -0.1292)
,並用作爲治療的行的相關矩陣的和改進的爲列,例如:
coef.correlation =
(0 0 0 )
(0 -0.2588 -0.2588)
是否有任何有效的方式去做這個?
請注意,coef()函數中未列出的任何係數都應設置爲零,並縮短了上面的一些數字。
寫一個函數?這似乎不是一件常見的事情。比如,爲什麼使用四個對象而不是一個對象更容易?此外,那些互動條款不相關 – rawr
對不起,互動條款。 – Erosennin
我想這樣做是爲了在R中手動預測,而不是使用predict()函數。因此,我寧願創建一個相互作用係數的矩陣... – Erosennin