次のような組み合わせを、私が思っていたよりも良い方法で数える方法を誰かが考えているのではないかと思います。
> library(lubridate)
> df <- data.frame(x=sample(now()+hours(1:3), 100, T), y=sample(1:4, 100, T))
> with(df, as.data.frame(table(x, y)))
x y Freq
1 2012-06-15 00:10:18 1 5
2 2012-06-15 01:10:18 1 9
3 2012-06-15 02:10:18 1 8
4 2012-06-15 00:10:18 2 9
5 2012-06-15 01:10:18 2 10
6 2012-06-15 02:10:18 2 12
7 2012-06-15 00:10:18 3 7
8 2012-06-15 01:10:18 3 9
9 2012-06-15 02:10:18 3 6
10 2012-06-15 00:10:18 4 5
11 2012-06-15 01:10:18 4 14
12 2012-06-15 02:10:18 4 6
私はそのフォーマットが好きですが、残念ながら、私たちが実行x
しy
て通過したときtable()
、それらはファクターに変換されました。最終的な出力では、元のタイプとして非常にうまく存在できますが、そこに到達するのは問題があるようです。現在、後ですべてのタイプを手動で修正するだけですが、タイムゾーンを再設定したり、デフォルトの日付形式のパーセントコードを検索したりする必要があるため、非常に面倒です。
効率的な解決策には、オブジェクトをハッシュするか、整数をの一意の値にマッピングx
して、y
を使用tabulate()
してから元に戻すことが含まれるようです。
アイデア?