Emmanuel,

Para usar a multcomp::glht() para fazer desdobramentos o procedimento é diferente da agricole::HSD.test(). A glht() não faz desdobramentos por padrão, e nem consulta o data.frame original, ou seja, não adianta dar subset() como na HSD.test(). Tudo que a glht() precisa para fazer o teste está armazenado no objeto lm passado como primeiro argumento da função. De lá ela tira coisas como estimativas, matriz de covariâncias, matriz de contrastes. Por padrão, com a opção glht(..., linfct=mcp(fator="Tukey")) vai fazer o teste para os efeitos principais. Ela até dá um warning dizendo algo sobre interações. Para desdobrar a interação, você terá que passar a matriz de comparações múltiplas que identifica cada o desdobramente para a linfct=. Fiz CMR sobre isso que está na página de Ridículas do R (www.leg.ufpr.br/ridiculas). Tente entender o que foi feito em termos de modelos lineares, ok?

À disposição.
Walmes.

==========================================================================
Walmes Marques Zeviani
LEG (Laboratório de Estatística e Geoinformação, 25.450418 S, 49.231759 W)
Departamento de Estatística - Universidade Federal do Paraná
fone: (+55) 41 3361 3573
VoIP: (3361 3600) 1053 1173
e-mail: walmes@ufpr.br
twitter: @walmeszeviani
homepage: http://www.leg.ufpr.br/~walmes
linux user number: 531218
==========================================================================