我的数据框看起来像:
uri month
1 /product/product2 Jun
2 /product/product3 Jun
3 /product/product3 Jun
4 /feeds/press Jun
5 /product/product3 Jun
6 /product/product3 Jun
我想创建另一个看起来像
的数据框uri Jan Feb Mar etc.
/product/product2 1938 5785 4842
/feeds/press 523894 34829 398423
这些数字都是例子(不是真正的总数)
我能够使用以下方式创建这样的东西:
#Reorder Months in Calendar Year for /demo URI
demo_month = as.matrix(
as.matrix(summary(uri_month[uri_month$uri == "/demo", "month" ]))
[c(5,4,8,1,9,7,6,2,12,11,10,3),])
这样demo_month看起来像
[,1]
Jan 12845
Feb 11716
Mar 11627
Apr 11005
May 12362
Jun 12360
Jul 12688
Aug 11526
Sep 11105
Oct 2544
Nov 17056
Dec 14137
基本上,我想重复每个级别的/ demo uri使用的代码。我知道我可以手动完成,只需要替换“/ demo”,然后组合它,但我有130种不同类型的URI。我是R的初学者,宁愿不使用任何包。我相信我需要以某种方式使用tapply()。
谢谢!
答案 0 :(得分:0)
我不确定我是否完全理解您的问题,但我相信以下代码会对矩阵中每行的月份重新排序,然后将它们作为列保存到新矩阵中。我希望这会有所帮助:
m<-matrix(0,nrow=12,ncol=nrow(uri_month))
for(i in 1:nrow(uri_month)){
m[,i] = as.matrix(as.matrix(summary(uri_month[uri_month[i,], "month" ]))
[c(5,4,8,1,9,7,6,2,12,11,10,3),])
}