当有多个因子水平作为基线时,如何解释R线性回归?

时间:2014-02-10 12:21:21

标签: r statistics linear-regression

我的数据有3个独立变量,所有变量都是分类的:

condition: cond1, cond2, cond3

population: A,B,C

task: 1,2,3,4,5

因变量是任务完成时间。我在R中运行lm(time~condition+user+task,data)并获得以下结果:

enter image description here

让我感到困惑的是,cond1,groupA和task1被排除在结果之外。从线程linear regression "NA" estimate just for last coefficient,我理解选择一个因子级别作为“基线”并显示在(拦截)行中。

但是,如果有多个因子水平用作基线,如上所述呢?

  • (拦截)行现在是否表示cond1 + groupA + task1?
  • 如果我想分别了解cond1,groupA和task1的系数和重要性怎么办?
  • 例如,与groupA相比,groupB的估计系数为+9.3349?或者与cond1 + groupA + task1相比?

3 个答案:

答案 0 :(得分:4)

您的人口中的一个人必须为每个变量“条件”,“人口”和“任务”设置一个值,因此基线个体必须具有每个变量的值;在这种情况下,cond1,A和t1。所有结果都基于具有这些自变量的理想(平均)个体,因此截距确实给出了cond1,groupA和task1的平均时间值。

cond1,groupA或task1的显着性或系数没有意义,因为显着性意味着一个组和参考组之间的显着不同的平均值。您无法将参考组与其自身进行比较。

由于你的模型没有相互作用,groupB的系数意味着人口B中某人的平均时间将比人口A中某人的时间高9.33(秒?),无论他们执行的条件和任务如何并且由于p值非常小,您可以认为人口B中的人与参考人群中的人之间的平均时间实际上是不同的(A)。如果您向模型添加了交互项,则这些术语(例如usergroupB:taskt4)将表示如果个人同时具有这两个条件,则向平均时间添加(或减去)额外值(在此示例中,如果个人是来自人口B并执行了任务4)。这些影响将添加到边缘影响中(usergroupBtaskt4)。

希望我帮助过。

答案 1 :(得分:2)

  

(拦截)行现在是否表示cond1 + groupA + task1?

  

如果我想知道cond1的系数和重要性怎么办?   groupA和task1分别?

想想意义何在。你需要制定一个假设。在你的例子中,所有内容都与截距进行比较,你的问题并没有多大意义。但是,您始终可以在所有可能的效果组合之间进行成对比较(请参阅包multcomp)。

  

例如,与B相比,groupB的估计系数为+9.3349   A组?或者与cond1 + groupA + task1相比?

这是cond1 / task1 / groupA和cond1 / task1 / groupB之间的区别。 (正如@Rufo正确指出的那样,它当然是一个整体效果,实际上groupB和groupA之间的差异提供了其他效果相同。)

答案 2 :(得分:1)

默认情况下,R对分类变量使用处理对比。因此,第一级被视为基级。所有剩余的水平都与基准水平进行比较。

cond1的基本级别为conditionApopulation1task。所有系数都是根据这些基准水平估算的。

拦截只是三个基本级别中响应变量的平均值。

例如,效果conditioncond2cond2cond1之间的差异,其中populationAtask是{{1} }}。因此,系数不会告诉您有关条件之间总体差异的任何信息,而只会告诉您与基本级别相关的数据。 (类似地,1conditioncond3cond3之间的差异。)

其他因素也是如此。 cond1仅对population conditioncond1 task有效。 1仅对task conditioncond1 population有效。