propagation() fonction tidyr

J'ai un PSAC liste de prix des actions comme suit

    PERMNO  date        TICKER  RETX
1   10138   2007-01-03  TROW    0.045236
2   10138   2007-01-04  TROW    0.008743
3   10138   2007-01-05  TROW    -0.001950
4   10138   2007-01-08  TROW    0.018237
5   10138   2007-01-09  TROW    0.004051
6   10138   2007-01-10  TROW    0.005734
7   10138   2007-01-11  TROW    0.019637
8   10138   2007-01-12  TROW    0.005591
...
1   10145   2007-01-03  HON -0.003095
2   10145   2007-01-04  HON -0.000443
3   10145   2007-01-05  HON -0.009539
4   10145   2007-01-08  HON 0.006047
5   10145   2007-01-09  HON 0.007124
6   10145   2007-01-10  HON -0.006189
7   10145   2007-01-11  HON 0.016681
8   10145   2007-01-12  HON -0.003282
9   10145   2007-01-16  HON 0.001317
10  10145   2007-01-17  HON -0.001754
11  10145   2007-01-18  HON -0.010979
...

Une fois que j'utilise tidyr::spread(x,TICKER,RETX), de retour d'une matrice avec la plupart de la valeur NA.
Il est de toute autre fonction pour réorganiser la matrice, d'énumérer tous les prix des actions dans une seule colonne? ou comment réaliser en quelques lignes?

mise à jour:
Je figure, c'est le PERMNO colonne à l'origine du problème. Après je me débarrasser de l'PERMNO colonne un autre problème apparaît:

> spread(A1[,2:4],TICKER,RETX)
Error: Duplicate identifiers for rows (129717, 143815), (129718, 143816), ...

Alors, je viens de choisir au hasard deux rangs mentionné dans le message

       PERMNO       date TICKER     RETX
129717  75104 2007-01-03    CBS 0.012172
> A1[143815,]
       PERMNO       date TICKER    RETX
143815  76226 2007-01-03    CBS 0.01347

Tourner l'ensemble de données est très sale et il contient dupliqué de la série.
Une meilleure solution serait d'utiliser PERMNO en tant que clé.
Voici ce que j'obtiens

    date        10225       10516       10909       ...
1   2007-01-03  0.005738    0.003129    -0.006593   ...
2   2007-01-04  -0.011062   -0.005615   0.028761    ...
3   2007-01-05  0.000824    -0.001568   -0.022366   ...
4   2007-01-08  -0.005059   0.005027    -0.003520   ...
5   2007-01-09  0.002956    -0.024383   0.000883    ...
6   2007-01-10  -0.003301   -0.008651   -0.010587   ...
...

C'est frustrant, mais j'ai fini par obtenir quelque chose. Est-il de toute façon à remplacer le numérique nom de la colonne avec les correspondants de presse. Voici une démo

    PERMNO  date        FO          HON        ...
1   10225   2007-01-03  0.005738    -0.003095  ...
2   10225   2007-01-04  -0.011062   -0.000443  ...
3   10225   2007-01-05  0.000824    -0.009539  ...
4   10225   2007-01-08  -0.005059   0.006047   ...
5   10225   2007-01-09  0.002956    0.007124   ...
6   10225   2007-01-10  -0.003301   -0.006189  ...
7   10225   2007-01-11  0.007925    0.016681   ...
8   10225   2007-01-12  -0.010914   -0.003282  ...
Je suppose que vous voulez dire tidyr::spread (j'ai édité votre question en conséquence). Vous exemple est mauvais car il ne s'affiche qu'une seule valeur de RETX, de sorte que votre problème n'est pas illustré---votre code fonctionne très bien sur ces 8 lignes sans NAs retourné. (Et il s'en retourne d'un bloc de données, pas une matrice.) tidyr n'est pas intégré, mais vous pouvez voir reshape2::dcast pour une version plus souple de spread.
Toutefois, si vous avez de la NAs, je suppose que vous avez différents permno des valeurs ou à des dates différentes pour vos actions--probablement permno. Donc, si cette colonne n'est pas applicable à votre propagation de données, il suffit de le déposer avant de se répandre.
Merci pour les conseils. C'était mon premier temps à poster la question sur ce site, je travaille toujours sur elle.
Pas de problème! Il suffit d'éditer votre question avec un peu de données qui montre le problème. Vous pouvez voir plus de la reproductibilité des conseils ici. Mais ne modifier des données dans votre question, sinon nous ne pouvons pas voir le problème ou tester une solution. Essayez de trouver 8 ou 10 lignes, avec deux TICKER valeurs, 4 ou 5 dates de chaque, montrer le problème. Et peut-être expliquer ce que PERMNO est.
Il est votre problème alors. Si vous avez besoin de plus d'aide, modifiez le code dans votre question, au lieu de mettre beaucoup de code dans les commentaires. Si cela résout votre problème, vous pourriez juste voulez supprimer la question.

OriginalL'auteur HLD25 | 2015-02-12