以下是示例数据框(Market_Test)Not sure of DataFrame comes out properly or not hence the image
Submarket Market Date URL of test
Seattle_Sub1 Seattle 1/2/2016 Abc.com/test1
Seattle_Sub2 Seattle 1/3/2016 Abc.com/test2
Seattle_Sub1 Seattle 1/5/2016 Abc.com/test3
Portland_Sub1 Portland 1/15/2016 Abc.com/test4
Portland_Sub2 Portland 1/10/2016 Abc.com/test3
Portland_Sub2 Portland 1/11/2016 Abc.com/test2
Portland_Sub1 Portland 1/10/2016 Abc.com/test1
我需要在SubMarket Level上计算和转动数据,使其看起来如下OutputData Frame Image -
Submarket Market No of Days Testing Gap b/w test Days
Seattle_Sub1 Seattle 2 3
Seattle_Sub2 Seattle 1 0
Portland_Sub1 Portland 2 5
Portland_Sub2 Portland 2 1
大约有300,000个观测值,因此相对较大的数据集。
我能够使用sqldf和非常计数轻松解决No of Days Testing问题,但是通过Gap b / w Test Days计算遇到障碍。
我试过的一件事是使用原始数据帧的排名,然后计算2个排名值之间的差值,但是在ddply中,但这需要很长时间,事实上它永远不会完成。
Inputdf <- mutate(Inputdf,Date_Rank = rank(Date))
其他选项可能是在sql中使用lag / lead函数,但是sqldf不允许这样做。
非常感谢。