エポックからのタイムスタンプが秒単位のデータセットがあります。
id event time
2 722 opened 1356931342
1 723 opened 1356963741
4 721 referenced 1356988186
5 721 closed 1356988186
3 721 referenced 1356988206
ただし、多数の非常に長いタイム スタンプを処理すると、使用しているアルゴリズム (最適なマッチング距離) で重大なパフォーマンスの問題が発生するため、これを単純な順序に減らして、どのイベントが最初に発生したか (または同時に発生したか) を決定したいと考えています。 )。つまり、データセット内の最初のイベント (行) は 1、次に 2、3、4 などになります。2 つの行の数値 (エポックからの秒数) がまったく同じ場合は、同じ値を指定する必要があります。新しい縮小形式の番号。したがって、これは次の行に沿って何かを出力する必要があります。
id event time
2 722 opened 1
1 723 opened 2
4 721 referenced 3
5 721 closed 3
3 721 referenced 4
「時間」列は本質的に数値のベクトルです(要因ではありません-パフォーマンスの問題を解決しようとしているため、これは機能しません)。
以下を使用してデータフレームを注文できます。
df <- df[with(df, order(time)), ]
ただし、番号を順序付けられた 1 桁 (タイム スタンプが等しい場合は同じ番号) に置き換えるにはどうすればよいですか?