Zmień kształt na długi i szeroki z wieloma grupami

Moje dane wyglądają tak:

  Smoker PtNo Day Hour FEV1 timename
1       0    1   1    0 3.26     d1h0
2       0    1   1    2 3.05     d1h2
3       0    1   1    4 3.02     d1h4
4       0    1   1    6 3.27     d1h6
5       0    1   2    0 3.28     d2h0
6       0    1   2    2 3.07     d2h2
7       0    1   2    4 3.35     d2h4
8       0    1   2    6 3.07     d2h6
9       0    1   3    0 3.28     d3h0
10      0    1   3    2 3.44     d3h2

Chcę przekształcić go w szeroki format w następujący sposób:

PtNo  Smoker  FEV1.d1h0  FEV1.d1h2  FEV1d1.h3   etc.

Gdzie PtNo i Palacz oraz zmienne niezależne nie zmieniające się w czasie, a FEV1 jest zmienną zmienną mierzoną w czasie. Używam różnych komunikatów o błędachreshape imelt/dcast funkcje wreshape2 pakiet. Jakieś sugestie? (Proszę dostosować odpowiedź do poziomu początkującego.)

questionAnswers(2)

yourAnswerToTheQuestion