R 如何将观察值复制为另一个变量值的函数
我想根据变量iptw的值复制观察结果,以创建伪总体进行进一步分析 例如,如果iptw=4.5,则应创建权重=5,并将观测值/行乘以5。同样,如果iptw=2.3,则权重=2,该行乘以2,这相当于将相应的观测值添加到数据帧两次 这是我的数据集:R 如何将观察值复制为另一个变量值的函数,r,dataframe,dataset,R,Dataframe,Dataset,我想根据变量iptw的值复制观察结果,以创建伪总体进行进一步分析 例如,如果iptw=4.5,则应创建权重=5,并将观测值/行乘以5。同样,如果iptw=2.3,则权重=2,该行乘以2,这相当于将相应的观测值添加到数据帧两次 这是我的数据集: 有一个类似的问题,但解决方案没有回答我的问题。假设您要复制第i行roundiptw[i]次: dtNEW[rep(1:.N, round(iptw)), ] 给予: id x1 x2 iptw 1: 1 10 21 2.3 2: 1 10 2
有一个类似的问题,但解决方案没有回答我的问题。假设您要复制第i行roundiptw[i]次:
dtNEW[rep(1:.N, round(iptw)), ]
给予:
id x1 x2 iptw
1: 1 10 21 2.3
2: 1 10 21 2.3
3: 2 11 22 0.6
4: 3 12 23 4.5
5: 3 12 23 4.5
6: 3 12 23 4.5
7: 3 12 23 4.5
假设您希望复制第i行roundiptw[i]次:
dtNEW[rep(1:.N, round(iptw)), ]
给予:
id x1 x2 iptw
1: 1 10 21 2.3
2: 1 10 21 2.3
3: 2 11 22 0.6
4: 3 12 23 4.5
5: 3 12 23 4.5
6: 3 12 23 4.5
7: 3 12 23 4.5
另一个选项是从tidyr中取消计数
另一个选项是从tidyr中取消计数
非常感谢@G.格罗森迪克。这个解决方案有效。非常感谢@G.格罗森迪克。这个解决方案有效。非常感谢@akrun。这个解决方案很好。非常感谢@akrun。这个解决方案很好。