2009-10-14 71 views
15

在數據框的列中找到最多n%的記錄我有一個數據集,顯示澳大利亞元兌美元每天大約20年的匯率。我有一個數據框中的數據,第一列是日期,第二列是匯率。這裏有一個數據示例:如何使用R

>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 

我該如何去顯示這些記錄的前n%?例如。說我想看看匯率在數據集中所有匯率前5%的匯率下的日子和匯率?

回答

25

對於前5%:

n <- 5 
data[data$V2 > quantile(data$V2,prob=1-n/100),] 
+0

非常感謝! – 2009-10-14 03:00:19

+17

或保存一些輸入:'subset(data,V2> quantile(V2,prob = 1 - n/100))' – hadley 2009-10-14 03:44:28

4

對於前5%也:

head(data[order(data$V2,decreasing=T),],.05*nrow(data))