背景:R中的项目级回归系数?
1000参与者额定自己满意200点的对象(S),以及关于所述参与者本身提供4名不同的心理测量的变量(A,B,C,d)。有5000个独特的对象进行评级,因此由于资源限制,并非每个参与者都评估每个对象。这导致了一个稀疏的数据集,其中每个对象被大约30个参与者评分。
从这个设计中,检索基本的描述统计量(例如,每个对象的平均满意度)是微不足道的。我现在的任务是建立心理测量变量(A,B,C,D)与对象之间的关系 - 即“如果你在A,B,C,D上以某种方式得分,你可能会发现满意的对象?
这个想法是运行一个回归,随后提取中介系数。式(以及可能的设计)是相当复杂的,我不知道如何即使在R.尝试此
数据集:
的数据集如下 -
[参与者ID] ,[对象ID],[S评级],[A],[B],[C],[D]
A,B,C,D值对于一个参与者总是相同的,不要依赖于对象。对象ID取值范围为1〜5000,与一个参加者ID被与来自5000
实施例的池200级的对象的随机选择配对:
+----------------+-----------+----------+-----+------+------+------+
| Participant ID | Object ID | S Rating | A | B | C | D |
+----------------+-----------+----------+-----+------+------+------+
| 1 | 23 | 2 | 0.2 | 0.7 | 0.42 | 0.9 |
+----------------+-----------+----------+-----+------+------+------+
| 1 | 69 | 1 | 0.2 | 0.7 | 0.42 | 0.9 |
+----------------+-----------+----------+-----+------+------+------+
| 1 | 769 | 1 | 0.2 | 0.7 | 0.42 | 0.9 |
+----------------+-----------+----------+-----+------+------+------+
| 1 | 1357 | 5 | 0.2 | 0.7 | 0.42 | 0.9 |
+----------------+-----------+----------+-----+------+------+------+
| ... 196 more | | | | | | |
+----------------+-----------+----------+-----+------+------+------+
| 2 | 84 | 1 | 0.3 | 0.12 | 0.6 | 0.86 |
+----------------+-----------+----------+-----+------+------+------+
| 2 | 345 | 5 | 0.3 | 0.12 | 0.6 | 0.86 |
+----------------+-----------+----------+-----+------+------+------+
| 2 | 1357 | 4 | 0.3 | 0.12 | 0.6 | 0.86 |
+----------------+-----------+----------+-----+------+------+------+
公式:
为了建立项目级别对象评分和参与者级别心理测量变量之间的关系,我希望用下列公式进行回归:
SR (A + B + C + D)* I +(1/P)
其中S评级是数据集中的S评级,ABCD是来自数据集的心理测量变量,I是项目级别系数I想要提取,而P是参与者等级系数。
该公式将为数据集中的每个项目(对象)提供项目级系数-IA,IB,IC,ID。然后,这会回答诸如“对于对象931而言,对A的高评分在预测满意度方面尤为重要”。
问题:
是否有可能在R键实现这一目标?
我是否正确地认为上述公式可以让我获得项目级别的系数,从而让我看到心理测量变量A,B,C,D如何有助于预测S,独立于每个项目I?
是否有可能从R回归中检索这些系数?我希望最终得到一个表格,例如:[对象ID],[A的贡献],[B的贡献],[C的贡献],[D的贡献]。这将告诉每个心理测量变量对每个对象单独预测S的贡献。
在R中如何去做这件事?
谢谢你的快速答复。 该解决方案效果很好。关键是正确设置因素。我现在只是在努力处理数据集的大小(需要36GB内存),我读过的内容可以使用biglm软件包来克服,而不是使用lm本身。 – Tomas2015