Supposons que j'ai un data.frame appelé SLV et que j'applique la fonction tail(). Je vais obtenir ceci:Quel est le meilleur moyen d'accéder à l'avant-dernière valeur dans un R data.frame?
> tail(SLV)
SLV.Open SLV.High SLV.Low SLV.Close SLV.Volume SLV.Adjusted
2010-12-06 28.99 29.64 28.88 29.51 57561800 29.51
2010-12-07 29.95 30.00 28.03 28.08 69143800 28.08
2010-12-08 28.33 28.46 27.34 27.70 58203800 27.70
2010-12-09 28.10 28.36 27.83 28.03 36759200 28.03
2010-12-10 27.80 28.11 27.38 27.98 30602700 27.98
2010-12-13 28.84 29.04 28.59 28.87 25901800 28.87
par défaut queue() aux 6 dernières valeurs, mais il est facile d'obtenir juste la dernière valeur 1.
>tail(SLV, n=1)
SLV.Open SLV.High SLV.Low SLV.Close SLV.Volume SLV.Adjusted
2010-12-13 28.84 29.04 28.59 28.87 25901800 28.87
Mais quelle est la meilleure façon de retourner l'avant-dernier jour? Dans notre exemple SLV, ce serait la ligne datée 2010-12-10.
merci pour les deux – Milktrader
Je pense que la deuxième solution est la bonne façon de faire la tâche. Le premier est trop compliqué, quand on regarde le code sous-jacent dans 'head' et' tail'. – Marek
+1 pour la tête/queue, indépendamment de leur mise en œuvre - ils sont robustes dans mon expérience – mdsumner