我有一个纵向数据集,如下所示:
id date group
1 jan-13 1
2 jan-13 1
3 jan-13 2
1 fev-13 3
2 fev-13 4
2 fev-13 3
3 fev-13 4
1 mar-13 5
2 mar-13 6
3 mar-13 5
它代表一个网络,如果他们在t(包括t)之前的任何时期属于同一组,则每个人在时期t连接到其他个体。因此,在feb-13中,indidual 1仅与个体2连接。
我想计算每个时期每个人的学位。在这种情况下,我想要创建的最终数据集如下所示:
id date degree
1 jan-13 1
2 jan-13 1
3 jan-13 0
1 fev-13 1
2 fev-13 2
3 fev-13 1
1 mar-13 2
2 mar-13 2
3 mar-13 2
我尝试了一些使用for和aggregate的东西,但它效率不高(它花了一天多时间才完成)。数据集非常大,因此通常使用网络的软件包在这里不起作用。
答案 0 :(得分:0)
编辑:
好的,对不起,我似乎误解了你的问题。您是否检查过R的任何网络数据包是否符合您的要求?如果你创建一个关系数据集,它应该很容易得到你想要的东西,也许这个教程有帮助:
https://statnet.org/trac/raw-attachment/wiki/Resources/introToSNAinR_sunbelt_2012_tutorial.pdf