R中的项目级回归系数?
Item-level regression coefficients in R?
背景:
1000 名参与者评价了他们对 200 个对象 (S) 的满意度,并提供了关于参与者本身的 4 个不同的心理测量变量 (A、B、C、D)。有 5000 个独特的对象要评分,因此由于资源限制,并非每个参与者都对每个对象进行评分。这导致数据集稀疏,其中每个对象都由大约 30 名参与者进行评分。
从这个设计中,检索基本的描述性统计数据(例如每个对象的平均满意度)是微不足道的。我现在的任务是建立心理测量变量(A、B、C、D)和对象之间的关系 - 即 "What objects will you likely find satisfactory, provided you score a certain way on 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 |
+----------------+-----------+----------+-----+------+------+------+
公式:
为了建立项目级对象评级和参与者级心理测量变量之间的关系,我希望 运行 使用以下公式进行回归:
S 评级 ~ (A + B + C + D) * I + (1/P)
其中S Rating是数据集中的S Rating,A B C D是数据集中的心理测量变量,I是我要提取的item-level系数,P是参与者水平系数。
该公式将为数据集中的每个项目(对象)提供项目级系数 - IA、IB、IC、ID。然后这将回答 "For object 931, scoring high on A is especially important in predicting satisfaction".
之类的问题
问题:
可以在 R 中实现吗?
我是否认为上面的公式可以让我访问项目级系数,让我看到心理测量变量 A、B、C、D 如何独立地预测 S,对于每个项目 I?
是否可以从 R 中的回归中检索这些系数?我希望以 table 结束,例如:[对象 ID]、[A 的贡献]、[B 的贡献]、[C 的贡献]、[D 的贡献]。这将说明每个心理测量变量对预测 S 的贡献,分别针对每个对象。
在 R 中如何解决这个问题?
当然,您应该能够在 R 中做到这一点。关键是要正确定义变量的 class。我觉得I和P应该是factors.
然后简单地使用 lm() 函数:
obj = lm(评级 ~ (A + B + C + D):I + P)
背景:
1000 名参与者评价了他们对 200 个对象 (S) 的满意度,并提供了关于参与者本身的 4 个不同的心理测量变量 (A、B、C、D)。有 5000 个独特的对象要评分,因此由于资源限制,并非每个参与者都对每个对象进行评分。这导致数据集稀疏,其中每个对象都由大约 30 名参与者进行评分。
从这个设计中,检索基本的描述性统计数据(例如每个对象的平均满意度)是微不足道的。我现在的任务是建立心理测量变量(A、B、C、D)和对象之间的关系 - 即 "What objects will you likely find satisfactory, provided you score a certain way on 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 |
+----------------+-----------+----------+-----+------+------+------+
公式:
为了建立项目级对象评级和参与者级心理测量变量之间的关系,我希望 运行 使用以下公式进行回归:
S 评级 ~ (A + B + C + D) * I + (1/P)
其中S Rating是数据集中的S Rating,A B C D是数据集中的心理测量变量,I是我要提取的item-level系数,P是参与者水平系数。
该公式将为数据集中的每个项目(对象)提供项目级系数 - IA、IB、IC、ID。然后这将回答 "For object 931, scoring high on A is especially important in predicting satisfaction".
之类的问题问题:
可以在 R 中实现吗?
我是否认为上面的公式可以让我访问项目级系数,让我看到心理测量变量 A、B、C、D 如何独立地预测 S,对于每个项目 I?
是否可以从 R 中的回归中检索这些系数?我希望以 table 结束,例如:[对象 ID]、[A 的贡献]、[B 的贡献]、[C 的贡献]、[D 的贡献]。这将说明每个心理测量变量对预测 S 的贡献,分别针对每个对象。
在 R 中如何解决这个问题?
当然,您应该能够在 R 中做到这一点。关键是要正确定义变量的 class。我觉得I和P应该是factors.
然后简单地使用 lm() 函数:
obj = lm(评级 ~ (A + B + C + D):I + P)