我有一个数据集,其中包含面向人的格式的纵向数据,例如:
pid varA_1 varB_1 varA_2 varB_2 varA_3 varB_3 ...
1 1 1 0 3 2 1
2 0 1 0 2 2 1
...
50k 1 0 1 3 1 0
这会产生一个大型数据框,其中至少有 50k 个观测值和 90 个变量,最多可测量 29 个周期。
我想获得一个更面向周期的格式,例如:
pid index start stop varA varB varC ...
1 1 ...
1 2
...
1 29
2 1
我尝试了不同的方法来重塑数据框(*apply
, plyr
, reshape2
, 循环,追加与预填充所有数字矩阵等),但似乎没有得到合适的处理时间(子集 +40 分钟)。在此过程中,我已经收集了各种关于要避免什么的提示,但我仍然不确定我是否错过了一些瓶颈或可能的加速。
是否有处理这种数据处理的最佳方法,以便我可以评估在纯 R 代码中可以实现的最佳处理时间?Stackoverflow 上也有类似的问题,但都没有给出令人信服的答案……