Combinaison de vecteurs de longueur inégale dans une trame de données

J'ai une liste de vecteurs qui sont des séries chronologiques d'inégale longueur. Mon but ultime est de tracer le temps de la série dans un ggplot2 graphique. Je suppose que je suis mieux d'abord la fusion des vecteurs dans un dataframe (où la plus courte des vecteurs sera élargi avec NAs), aussi parce que je veux exporter les données dans un format tabulaire comme .csv pour être lu par d'autres personnes.

J'ai une liste qui contient les noms de tous les vecteurs. C'est bien que les titres des colonnes, être fixées par le premier vecteur, qui est la plus longue. E. g.:

> mylist
[[1]]
[1] "vector1"

[[2]]
[1] "vector2"

[[3]]
[1] "vector3"

etc.

Je sais que le chemin à parcourir est d'utiliser Hadley du plyr paquet, mais je crois que le problème c'est que ma liste contient les noms des vecteurs, et non les vecteurs eux-mêmes, si je tape:

do.call(rbind, mylist)

- Je obtenir une seule colonne df contenant les noms des dfs je voulais fusionner.

> do.call(rbind, actives)
      [,1]           
 [1,] "vector1" 
 [2,] "vector2" 
 [3,] "vector3" 
 [4,] "vector4" 
 [5,] "vector5" 
 [6,] "vector6" 
 [7,] "vector7" 
 [8,] "vector8" 
 [9,] "vector9" 
[10,] "vector10"

etc.

Même si je créer une liste avec les objets eux-mêmes, je reçois un vide dataframe :

mylist <- list(vector1, vector2)
mylist
[[1]]
1         2         3         4         5         6         7         8         9        10        11        12 
0.1875000 0.2954545 0.3295455 0.2840909 0.3011364 0.3863636 0.3863636 0.3295455 0.2954545 0.3295455 0.3238636 0.2443182 
13        14        15        16        17        18        19        20        21        22        23        24 
0.2386364 0.2386364 0.3238636 0.2784091 0.3181818 0.3238636 0.3693182 0.3579545 0.2954545 0.3125000 0.3068182 0.3125000 
25        26        27        28        29        30        31        32        33        34        35        36 
0.2727273 0.2897727 0.2897727 0.2727273 0.2840909 0.3352273 0.3181818 0.3181818 0.3409091 0.3465909 0.3238636 0.3125000 
37        38        39        40        41        42        43        44        45        46        47        48 
0.3125000 0.3068182 0.2897727 0.2727273 0.2840909 0.3011364 0.3181818 0.2329545 0.3068182 0.2386364 0.2556818 0.2215909 
49        50        51        52        53        54        55        56        57        58        59        60 
0.2784091 0.2784091 0.2613636 0.2329545 0.2443182 0.2727273 0.2784091 0.2727273 0.2556818 0.2500000 0.2159091 0.2329545 
61 
0.2556818 
[[2]]
1         2         3         4         5         6         7         8         9        10        11        12 
0.2824427 0.3664122 0.3053435 0.3091603 0.3435115 0.3244275 0.3320611 0.3129771 0.3091603 0.3129771 0.2519084 0.2557252 
13        14        15        16        17        18        19        20        21        22        23        24 
0.2595420 0.2671756 0.2748092 0.2633588 0.2862595 0.3549618 0.2786260 0.2633588 0.2938931 0.2900763 0.2480916 0.2748092 
25        26        27        28        29        30        31        32        33        34        35        36 
0.2786260 0.2862595 0.2862595 0.2709924 0.2748092 0.3396947 0.2977099 0.2977099 0.2824427 0.3053435 0.3129771 0.2977099 
37        38        39        40        41        42        43        44        45        46        47        48 
0.3320611 0.3053435 0.2709924 0.2671756 0.2786260 0.3015267 0.2824427 0.2786260 0.2595420 0.2595420 0.2442748 0.2099237 
49        50        51        52        53        54        55        56        57        58        59        60 
0.2022901 0.2251908 0.2099237 0.2213740 0.2213740 0.2480916 0.2366412 0.2251908 0.2442748 0.2022901 0.1793893 0.2022901 

mais

do.call(rbind.fill, mylist)
data frame with 0 columns and 0 rows

J'ai essayé de convertir les vecteurs de dataframes, mais il n'y a pas de cbind.fill fonction, de sorte plyr se plaint de ce que la dataframes sont de longueur différente.

Donc mes questions sont:

  • Est-ce la meilleure approche? Gardez à l'esprit que les objectifs sont: a) un ggplot2 graphique et b) un tableau avec les temps de la série, pour être visualisé en dehors de la R
  • Quelle est la meilleure façon d'obtenir une liste d'objets de commencer avec une liste des noms de ces objets?
  • Quel est le meilleur type de graphique pour mettre en évidence les modèles de 60 timeseries? L'échelle est la même, mais je prédis il y aura beaucoup de overplotting. Puisque c'est une analyse de cohorte, il pourrait être utile d'utiliser la couleur pour mettre en évidence les différentes cohortes en termes de récence (comme une variable continue). Mais comment éviter overplotting? Les différences seront minimes si le facettage peut laisser le spectateur arrive pas à saisir la différence.

source d'informationauteur Roberto