Remodelar longo a grande com vários agrupamentos

Meus dados são assim:

  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

Eu quero reformulá-lo em formato largo como este:

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

Onde PtNo e Smoker e variáveis ​​independentes não variam por tempo, e FEV1 é a variável variando no tempo medida. Eu recebo várias mensagens de erro usandoreshape e amelt/dcast funções noreshape2 pacote. Alguma sugestão? (Por favor, adapte a resposta ao nível de principiante.)

questionAnswers(2)

yourAnswerToTheQuestion