R を使用してデータを分析しています。特定のグループに属するデータ フレーム内の連続する値の数をカウントする必要があります。グループは列「タイプ」によって与えられます。これが私のデータの例です。日付列は使用されません。行を並べ替えるだけで役に立ちました。
date type
2009-11-12 02:01:02 1
2009-11-12 02:08:27 1
2009-11-12 02:26:44 1
2009-11-12 02:27:12 1
2009-11-12 02:28:14 1
2009-11-12 02:30:04 1
2009-11-12 02:35:19 5
2009-11-12 02:40:11 2
2009-11-12 11:35:04 6
2009-11-12 12:32:06 4
2009-11-12 12:32:24 6
2009-11-12 14:08:00 5
2009-11-12 14:16:00 1
2009-11-12 14:17:33 1
たとえば、ddply を使用してデータを要約できることはわかっています。ただし、「タイプ」列の変更によって要約を分割したいと思います。ddply を適用すると、次のようになります。
> df <- data.frame(x=c(1,1,1,1,1,1,5,2,6,4,6,5,1,1))
> ddply(df,c("x"),summarize,count=length(x))
x count
========
1 8
2 1
4 1
5 2
6 2
一方、私が本当に達成したいのはこれです:
x count
========
1 6
5 1
2 1
6 1
4 1
6 1
5 1
1 2