0

次のようなデータフレームがあります。

                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() を使用する必要があると思います。

ありがとう!

4

1 に答える 1

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),])
}
于 2013-06-25T21:50:40.483 に答える