我想在R中使用lm
拟合线性模型,以获得系数估计和p值+总模型拟合的p值(类似于ANOVA),因此基本上是从summary.lm
输出的内容。
问题在于我想使用自己的模型矩阵,而不是在调用lm
时使用公式来指定它。
我尝试使用底层的lm.fit
函数,它允许这样做,但我失去了summary.lm
函数的便利性,而且我不想自己重新计算所有的测试统计量。
有没有办法“欺骗”lm
并给它一个模型矩阵而不是一个公式?
谢谢!
以下是使用内置的BOD数据框的示例:
# inputs
demand <- BOD$demand
mm <- model.matrix(~ Time, BOD) # model matrix
summary(lm(demand ~ mm + 0))
或者
summary(lm(demand ~. + 0, as.data.frame(mm)))
summary(lm(demand ~ ., as.data.frame(model.matrix(~ ., BOD)[, -1])))
- Tunn
as.data.frame(model_matrix)
? - MichaelChiricoclass(lm.fit_object) <- "lm"
。 - MichaelChirico