0

こんにちは、「グループごとの最小日時」plyrの(またはdata.table以外の他のパッケージのバグ#2531の原因)と同等のものを探しています

set.seed(1)
datetimes=c(rep(as.POSIXct("2011-01-01 08:00:00"),3) , rep(as.POSIXct("2011-01-03 08:00:00"),3)) + rnorm(6)
groups=c(rep('a',3),rep('b',3))
X = data.frame(datetime=datetimes,group=groups)
X
#                  datetime group
#2011-01-01 07:59:59.373546     a
#2011-01-01 08:00:00.183643     a
#2011-01-01 07:59:59.164371     a
#2011-01-03 08:00:01.595280     b
#2011-01-03 08:00:00.329507     b
#2011-01-03 07:59:59.179531     b

予想される答え

                    datetime group
2011-01-01 07:59:59.164371     a
2011-01-03 07:59:59.179531     b
4

2 に答える 2

3

これを試して:

aggregate(datetime ~ group, X, min)
于 2013-04-02T15:09:14.633 に答える
1

を使用しddplyます。

ddply(X, .(group), summarise, first_datetime = min(datetime))

より簡潔ですが、このバリアントほど明確ではありません。

ddply(X, .(group), colwise(min))
于 2013-04-02T14:18:41.233 に答える