Etant assez novice en R, je n’arrive pas à créer une fonction me permettant de récupérer les valeurs des lignes précédentes et suivantes.
Plus précisément, j’ai un jeu de données contenant 3 variables ID, date et poids. Les variables sont ordonnées par individu et par date croissante, comme ceci :
Code : Tout sélectionner
> data
ID Date Poids
1 1 2000-06-07 41.0
2 1 2001-06-13 42.0
3 1 2002-06-26 49.0
4 1 2003-06-25 <NA>
5 1 2003-12-03 47.5
6 2 2004-12-15 62.0
7 2 2005-12-07 <NA>
8 2 2006-12-06 <NA>
9 2 2007-12-05 67.0
10 2 2009-03-04 74.0
11 3 2003-02-12 75.0
12 3 2003-02-20 75.4
13 3 2003-03-12 75.6
14 3 2003-04-16 76.0
15 3 2003-05-14 <NA>
16 4 2003-05-26 <NA>
17 4 2003-06-11 56.0
18 4 2003-06-23 56.5
19 4 2003-07-02 54.5
Pour chaque individu ayant un poids « NA » j’aimerai récupérer le poids et la date précédent et suivant. Cette fonction me permettrai d'obtenir en sortie un dataframe comme ceci :
Code : Tout sélectionner
> data2
ID Date Poids Date_prec Poids_prec Date_suiv Poids_suiv
1 1 2003-06-25 <NA> 2002-06-26 49 2003-12-03 47.5
2 2 2005-12-07 <NA> 2004-12-15 62 2007-12-05 67.0
3 2 2006-12-06 <NA> 2004-12-15 62 2007-12-05 67.0
4 3 2003-05-14 <NA> 2003-04-16 76 <NA> NA
5 4 2003-05-26 <NA> <NA> <NA>2003-06-11 56.0
Avez-vous une idée de comment je pourrai faire ?
Alice