如何从R中的lm打印设计矩阵?

时间:2018-10-20 01:07:31

标签: r linear-regression

假设x2-x4是连续的预测变量,在使用R中的lm()创建的设计矩阵中每个占一列。我想将x1包括三个级别的类别变量。

回归R代码如下所示:
    适合<-lm(y〜as.factor(x1)+ x2 + x3 + c4,data = mydata)

如何从R中的lm()中打印出设计矩阵,它是什么样的?我需要知道R中使用的默认编码,以便可以正确编写对比语句。

MM

2 个答案:

答案 0 :(得分:0)

我认为 model.matrix() 函数正是您所追求的。

正如 kjetil b halvorsen 所说,您可以在参数中指定模型。或者,您可以直接提交 model.matrix 定义的模型。

fit <- lm(y~as.factor(x1)+x2+x3+c4,data=mydata)
model.matrix(fit)

您甚至可以获得新数据的设计矩阵:model.matrix(fit, data=newdata)

答案 1 :(得分:-1)

使用参数x = TRUE调用res <-lm(),然后将在模型对象res中返回设计矩阵。然后调用str(res)来查看res的结构,现在您将如何获取设计矩阵。但是更简单的方法是使用与lm中使用的相同模型公式调用model.matrix(y〜x + f,data = ...)。 – kjetil b halvorsen