我的数据有3个独立变量,所有变量都是分类的:
condition: cond1, cond2, cond3
population: A,B,C
task: 1,2,3,4,5
因变量是任务完成时间。我在R中运行lm(time~condition+user+task,data)
并获得以下结果:
让我感到困惑的是,cond1,groupA和task1被排除在结果之外。从线程linear regression "NA" estimate just for last coefficient,我理解选择一个因子级别作为“基线”并显示在(拦截)行中。
但是,如果有多个因子水平用作基线,如上所述呢?
答案 0 :(得分:4)
您的人口中的一个人必须为每个变量“条件”,“人口”和“任务”设置一个值,因此基线个体必须具有每个变量的值;在这种情况下,cond1,A和t1。所有结果都基于具有这些自变量的理想(平均)个体,因此截距确实给出了cond1,groupA和task1的平均时间值。
cond1,groupA或task1的显着性或系数没有意义,因为显着性意味着一个组和参考组之间的显着不同的平均值。您无法将参考组与其自身进行比较。
由于你的模型没有相互作用,groupB的系数意味着人口B中某人的平均时间将比人口A中某人的时间高9.33(秒?),无论他们执行的条件和任务如何并且由于p值非常小,您可以认为人口B中的人与参考人群中的人之间的平均时间实际上是不同的(A)。如果您向模型添加了交互项,则这些术语(例如usergroupB:taskt4
)将表示如果个人同时具有这两个条件,则向平均时间添加(或减去)额外值(在此示例中,如果个人是来自人口B并执行了任务4)。这些影响将添加到边缘影响中(usergroupB
和taskt4
)。
希望我帮助过。
答案 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
的基本级别为condition
,A
为population
,1
为task
。所有系数都是根据这些基准水平估算的。
拦截只是三个基本级别中响应变量的平均值。
例如,效果conditioncond2
是cond2
和cond1
之间的差异,其中population
是A
而task
是{{1} }}。因此,系数不会告诉您有关条件之间总体差异的任何信息,而只会告诉您与基本级别相关的数据。 (类似地,1
是conditioncond3
和cond3
之间的差异。)
其他因素也是如此。 cond1
仅对population
condition
和cond1
task
有效。 1
仅对task
condition
和cond1
population
有效。