2

私はこれをRに持っていて、各ID番号を隣り合わせにしてから、日付順、最後に時間順で並べ替えたい...これは可能ですか?

   ID Val      Date  Time
1   1 0.7 1/13/2013 12:00
2   2 1.6 1/13/2013 12:00
3   3 0.5 1/13/2013 12:00
4   4 2.1 1/13/2013 12:00
5   5 1.2 1/13/2013 12:00
6   1 1.0 1/13/2013 13:00
7   2 1.1 1/13/2013 13:00
8   3 0.9 1/13/2013 13:00
9   4 2.4 1/13/2013 13:00
10  5 0.8 1/13/2013 13:00
4

2 に答える 2

6

orderこれを行うために複数の引数を取ることができます:

df <- read.table(text="ID Val      Date  Time
1   1 0.7 1/13/2013 12:00
2   2 1.6 1/13/2013 12:00
3   3 0.5 1/13/2013 12:00
4   4 2.1 1/13/2013 12:00
5   5 1.2 1/13/2013 12:00
6   1 1.0 1/13/2013 13:00
7   2 1.1 1/13/2013 13:00
8   3 0.9 1/13/2013 13:00
9   4 2.4 1/13/2013 13:00
10  5 0.8 1/13/2013 13:00",header=TRUE)


df[with(df,order(ID,Date,Time)),]

ここではまだ適切な時間クラスに変換していないことに注意してくださいDateTimeこれにより、より良い結果が得られます。

于 2013-01-14T09:51:15.327 に答える
4

orderBydoBy パッケージからは別の代替手段があります。

> library(doBy)
> orderBy(~ID+Date+Time, data=DF)
于 2013-01-14T10:32:16.673 に答える