如何使用R在数据框的列中查找前n%的记录

Bry*_*mas 21 r dataframe

我有一个数据集,显示澳大利亚元兑美元汇率在大约20年的时间内每天一次.我在数据框中有数据,第一列是日期,第二列是汇率.以下是数据中的示例:

>data
             V1     V2
1    12/12/1983 0.9175
2    13/12/1983 0.9010
3    14/12/1983 0.9000
4    15/12/1983 0.8978
5    16/12/1983 0.8928
6    19/12/1983 0.8770
7    20/12/1983 0.8795
8    21/12/1983 0.8905
9    22/12/1983 0.9005
10   23/12/1983 0.9005
Run Code Online (Sandbox Code Playgroud)

我如何显示这些记录的前n%?例如,我想看看汇率在数据集中所有汇率中排名前5%的日子和汇率?

Rob*_*man 36

前5%:

n <- 5
data[data$V2 > quantile(data$V2,prob=1-n/100),]
Run Code Online (Sandbox Code Playgroud)

  • 或者保存一点输入:`子集(数据,V2>分位数(V2,prob = 1 - n/100))` (22认同)

Geo*_*tas 6

前5%也是:

head(data[order(data$V2,decreasing=T),],.05*nrow(data))
Run Code Online (Sandbox Code Playgroud)