Je suppose que ce besoin ne soit pas strictement les données de séries chronologiques, mais je ne pouvais pas voir comment d'autre à formuler la question ...R - réorganisera Efficacement colonnes variables de séries chronologiques en lignes de séries temporelles avec des colonnes en tant que variables
I une table de données avec des rangées comme des emplacements XY uniques et des colonnes d'ID, X et Y, et ensuite 12 colonnes mensuelles pour plusieurs variables climatiques:
- température moyenne (Tmoy) pendant des mois 1-12, nommé Tmean01, Tmean02 ... Tmean12.
- Température maximale (Tmax) pour les mois 1-12, nommé Tmax01, Tmaxe02 ... Tmax12.
- Min température (Tmax) pour les mois 1-12, nommé Tmax01, Tmaxe02 ... Tmax12.
Les données ressemblent à ceci:
ID lat long Tave01 Tave02 Tave03 Tave04 Tave05 Tave06 Tave07 Tave08 Tave09 Tave10 Tave11 Tave12 Tmax01 Tmax02 Tmax03 Tmax04 Tmax05 Tmax06 Tmax07 Tmax08 Tmax09 Tmax10 Tmax11 Tmax12 Tmin01 Tmin02 Tmin03 Tmin04 Tmin05 Tmin06 Tmin07 Tmin08 Tmin09 Tmin10 Tmin11 Tmin12
F102 51.5 -116.3 -12.8 -9.2 -4.6 -0.9 4.1 5.8 9.5 8.1 3.2 -1.1 -7.4 -12.0 -8.0 -2.8 0.4 5.2 10.5 9.9 15.0 14.3 8.1 2.5 -4.8 -7.6 -17.5 -15.6 -9.5 -6.9 -2.2 1.7 3.9 1.9 -1.7 -4.7 -10.0 -16.4
F103 51.5 -116.2 -13.0 -9.5 -4.9 -1.2 4.0 5.7 9.4 8.0 3.1 -1.1 -7.6 -12.3 -7.9 -2.9 0.2 5.0 10.3 9.8 15.0 14.3 8.1 2.7 -4.6 -7.6 -18.1 -16.1 -10.0 -7.3 -2.4 1.7 3.7 1.7 -1.9 -5.0 -10.6 -17.0
F105 51.5 -116.1 -13.7 -10.8 -6.5 -3.5 1.8 4.2 7.6 6.1 1.5 -2.7 -9.1 -13.5 -8.7 -4.7 -1.8 2.2 7.6 7.1 12.2 11.5 5.7 1.1 -6.9 -9.1 -18.8 -17.0 -11.2 -9.2 -3.9 1.2 2.9 0.7 -2.7 -6.5 -11.3 -18.0
F106 51.5 -116.0 -13.7 -10.8 -6.4 -3.3 1.8 4.2 7.7 6.2 1.7 -2.5 -9.0 -13.4 -8.5 -4.7 -1.9 2.6 7.8 7.3 12.5 11.9 6.0 1.7 -6.8 -8.9 -18.8 -16.9 -11.0 -9.3 -4.3 1.1 2.9 0.6 -2.7 -6.6 -11.2 -17.9
F116 51.5 -115.3 -11.3 -7.8 -2.8 1.2 5.9 7.6 11.6 10.1 5.4 2.4 -3.9 -10.2 -5.7 -0.7 2.4 8.4 13.4 12.7 18.3 17.3 11.4 9.0 0.8 -5.1 -17.0 -15.0 -8.1 -5.9 -1.5 2.4 4.9 2.9 -0.7 -4.2 -8.7 -15.3
F117 51.5 -115.2 -11.2 -7.7 -2.6 1.4 6.2 7.8 11.8 10.3 5.6 2.6 -3.7 -10.1 -5.6 -0.5 2.8 8.6 13.6 13.0 18.6 17.5 11.7 9.2 1.2 -4.9 -16.9 -14.9 -8.0 -5.8 -1.3 2.6 5.0 3.1 -0.5 -4.1 -8.6 -15.2
F118 51.5 -115.1 -11.1 -7.4 -2.4 1.6 6.4 8.1 12.0 10.6 5.9 2.7 -3.4 -9.9 -5.4 -0.1 3.2 8.9 13.9 13.3 18.9 17.7 11.9 9.4 1.8 -4.7 -16.8 -14.7 -8.0 -5.6 -1.0 2.8 5.2 3.6 -0.1 -3.9 -8.6 -15.0
F119 51.5 -115.0 -10.9 -7.2 -2.2 1.9 6.7 8.4 12.3 10.9 6.2 3.0 -2.9 -9.6 -5.2 0.3 3.6 9.3 14.2 13.7 19.3 18.1 12.3 9.7 2.6 -4.3 -16.7 -14.6 -8.0 -5.4 -0.8 3.0 5.4 3.8 0.1 -3.8 -8.4 -14.8
F120 51.5 -114.9 -10.6 -6.6 -1.7 2.4 7.0 8.6 12.6 11.0 6.3 3.3 -2.5 -9.0 -4.7 1.1 4.4 9.8 14.7 14.2 19.8 18.5 12.9 10.1 3.1 -3.4 -16.5 -14.3 -7.9 -5.0 -0.8 3.1 5.3 3.4 -0.2 -3.5 -8.2 -14.5
F121 51.5 -114.8 -10.3 -6.2 -1.3 2.7 7.2 8.9 12.7 11.2 6.5 3.5 -2.3 -8.5 -4.2 1.7 5.1 10.2 15.1 14.7 20.3 18.9 13.3 10.4 3.3 -2.8 -16.3 -14.0 -7.7 -4.7 -0.7 3.1 5.2 3.4 -0.4 -3.4 -7.8 -14.2
...
Ce que je voudrais avoir une mise en page de séries chronologiques, où chaque ligne représente une entrée mensuelle pour chaque ID discret avec les variables (Tmoyenne, Tmin , Tmax) en tant que colonnes. Donc, je finirais avec 12 lignes pour chaque ID unique. Quelque chose comme ça ...
ID Month Tave Tmax Tmin
F102 1 -12.8 -8.0 -17.5
F102 2 -9.2 -2.8 -15.6
F102 3 -4.6 0.4 -9.5
F102 4 4.1 5.2 -6.9
...
F102 12 -12.0 -7.6 -16.4
F103 1 -13.0 -7.9 -17.5
F103 2 -9.5 -2.9 -16.1
...
Et ainsi de suite pour chaque station et chaque mois.
Je peux la force brutale cela avec une boucle ou quelque chose à travers toutes les variables et remplir une table expand.grid ou quelque chose, mais il doit y avoir une solution plus élégante (à savoir plus rapide et plus facile).
J'ai regardé à travers le paquet reshape, mais je n'arrive pas à trouver ce dont j'ai besoin.
Merci Henrik. Le "grand format" au "long format" était le vocabulaire qui me manquait dans mes recherches. Cette réponse en utilisant * reshape * est exactement ce dont j'ai besoin: https://stackoverflow.com/questions/36085161/reshape-a-dataframe-with-tidyr-or-reshape2?noredirect=1&lq=1 –