我有一个非常大的数据文件,我的目标是在V4列中找到5个具有5个最大值的行,因此我对数据进行了排序,得到了最大的值,然后使用了逻辑表达式尝试找到整行。问题是即使我能找到前5个值,逻辑表达式只给我3行而不是5行。
> 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的相应行? 有没有其他方法可以解决这个问题?
由于
答案 0 :(得分:9)
尝试使用order()
功能,它可以直接为您提供所需内容:
d[order(d$V4,decreasing=T)[1:5],]