【发布时间】:2015-04-17 00:43:37
【问题描述】:
我有一个包含调查回复项目(1-4 级)的数据框。这是前 10 名受访者的数据:
Q20_1n Q20_3n Q20_5n Q20_7n Q20_9n Q20_11n Q20_13n Q20_15n Q20_17n
1 1 2 1 1 1 1 1 1 1
2 1 1 1 1 1 1 1 1 1
3 2 1 1 1 1 1 1 2 2
4 4 4 2 2 3 3 4 4 3
5 1 1 1 1 1 1 1 2 1
6 4 4 4 3 4 4 2 4 4
7 3 3 4 3 3 3 4 4 3
8 3 3 2 2 4 2 3 3 2
9 1 1 1 1 1 1 1 1 1
10 1 1 1 1 1 1 1 1 1
我为数据拟合了一个分级响应模型,现在每个响应模式都有θ帽子。原始数据中有 901 个观测值,但对 theta.hat 的观测值只有 547 个。原因是因为每个观察到的响应模式都有一个 theta.hat - 例如,所有项目的得分为“1”出现 94 次。 theta.hat 数据框如下所示:
Q20_1n Q20_3n Q20_5n Q20_7n Q20_9n Q20_11n Q20_13n Q20_15n Q20_17n Obs Theta
1 1 1 1 1 1 1 1 1 1 94 -1.307
2 1 1 1 1 1 1 1 1 2 10 -.816
3 1 1 1 1 1 1 1 1 4 1 -0.750
4 1 1 1 1 1 1 1 2 1 22 -.803
5 1 1 1 1 1 1 1 2 2 6 -.524
我想要做的是将 theta.hats 与原始数据合并。这似乎需要匹配两个数据集的响应模式。因此,例如,原始数据中的第 10 行(全为“1”)将收到 -1.307 的 theta hat,因为它与 theta 矩阵的第 1 行中的响应模式匹配。两个数据集都是结构化的,因此每个变量都是一个数字列。
我不确定如何为这种情况发送可重现的数据集,但如果您有建议,我很高兴。
谢谢你, 安德里亚
【问题讨论】:
-
使用
data.tablelibrary(data.table); setkeyv(setDT(df2), names(df1))[df1]
标签: r design-patterns merge response