创建系数从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