x <- factor(rep(1:4,3))
y <- rnorm(x)
# convertendo dentro
m0 <- lm(y~x, contrast=list(x=contr.poly))
coef(m0)
m0 <- lm(y~x)
coef(m0)
# convertendo fora
contrasts(x) <- contr.poly(nlevels(x))
m0 <- lm(y~x)
coef(m0)
Lembrando que usar polinômios ortogonais só tem sentido para **níveis igualmente espaçados** do fator. Porque eles são/eram úteis? Porque a matriz X'X fica ortogonal e dessa forma você faz inferência para um efeito marginal aos demais (embora não faça o mínimo de sentido julgar o termo linear depois do quadrático etc). Na minha opinião os testes de hipótese sequênciais são mais apropriados e não dependem dessa condição restritiva de níveis igualmente espaçados.
À disposição.
Walmes.