1

非常に大きなデータ ファイルがあり、V4 列で 5 つの最大値を持つ 5 つの行を見つけることが目標なので、データを並べ替えて最大値を取得し、論理式を使用して全体を見つけようとしました。行。問題は、上位 5 つの値を見つけることはできても、論理式では 5 行ではなく 3 行しか得られないことです。

> h<-head(sort.int(d$V4, decreasing=T), 5)
> h
[1] 65506 39681 32306 29028 27535
> d[d$V4==h,]
             V1   V2 V3    V4                            V5
373135  1504839 1990  1 27535 77963;4;21;3;49;64;13;113;7;6
1365437 2141627 2010  1 39681         8;258;236;39;86;28;58
1797593 1822695 1992  1 32306                             0

では、なぜ 65506 と 29028 に対応する行が見つからないのでしょうか? この問題を解決する他の方法はありますか?

ありがとう

4

1 に答える 1

9

関数を試してみてくださいorder()。それはあなたが望むものを直接与えます:

d[order(d$V4,decreasing=T)[1:5],]
于 2013-09-08T15:51:25.840 に答える