我有一个如下数据框:
region group mid_pop
1 2 1146
2 4 1682
3 3 2891
4 1 7654
5 1 3289
6 2 1128
7 3 2121
8 4 3217
9 3 1616
10 1 1717
我进行了多项回归并得到属于每个组的概率如下:
mlogit <- multinom(group ~ mid_pop)
probs <- predict(mlogit, type="probs")
probs1 probs2 probs3 probs4
0.2 0.3 0.4 0.1
0.3 0.4 0.15 0.15
0.4 0.1 0.3 0.2
0.7 0.1 0.1 0.1
0.2 0.3 0.4 0.1
0.6 0.1 0.1 0.2
0.7 0.1 0.1 0.1
0.3 0.2 0.1 0.4
0.2 0.1 0.1 0.6
0.1 0.2 0.1 0.6
然后我为每个区域创建了一个权重。权重是“属于第一组的概率除以属于该区域所在的当前组的概率”。然后将权重乘以 mid_pop。
region group mid_pop weight mid_pop(weighted)
1 2 1146 0.66 756.36
2 4 1682 2 3364
3 3 2891 2 5782
4 1 7654 0.7 5357.8
5 1 3289 0.2 657.8
6 2 1128 0.3 338.4
7 3 2121 0.7 1484.7
8 4 3217 0.75 2412.75
9 3 1616 0.33 533.28
10 1 1717 0.16 274.72
现在我想为组做一个标准化的平均差,看看加权前后 mid_pop 的平均值之间的差异。结果将是这样的:
SDM (group 1 vs. group 2)=....
SDM (group 1 vs. group 3)=....
SDM (group 1 vs. group 4)= ....
任何人都可以帮助我们做到这一点?提前致谢。