2009-10-14 10 views
15

J'ai un jeu de données montrant le taux de change du dollar australien par rapport au dollar américain une fois par jour sur une période d'environ 20 ans. J'ai les données dans un cadre de données, avec la première colonne étant la date, et la deuxième colonne étant le taux de change. Voici un exemple à partir des données:Comment trouver le top n% d'enregistrements dans une colonne d'une base de données en utilisant 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 

Comment pourrais-je aller sur l'affichage du top n% de ces dossiers? Par exemple. dire que je veux voir les jours et les taux de change pour les jours où le taux de change tombe dans le top 5% de tous les taux de change dans l'ensemble de données?

Répondre

25

Pour les 5%:

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

Merci beaucoup! –

+17

Ou pour enregistrer un peu en tapant: 'sous-ensemble (données, V2> quantile (V2, prob = 1 - n/100))' – hadley

4

Pour les 5% aussi:

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