Modelo linear de ajuste / ANOVA por grupo [duplicado]

Esta pergunta já tem uma resposta aqui:

Regressão linear e agrupar por em R 10 respostas

Estou tentando correranova() em R e encontrando alguma dificuldade. Foi isso que fiz até agora para ajudar a esclarecer minha pergunta.

Aqui está ostr() dos meus dados até este ponto.

 str(mhw)
'data.frame':   500 obs. of  5 variables:
$ r    : int  1 2 3 4 5 6 7 8 9 10 ...
$ c    : int  1 1 1 1 1 1 1 1 1 1 ...
$ grain: num  3.63 4.07 4.51 3.9 3.63 3.16 3.18 3.42 3.97 3.4 ...
$ straw: num  6.37 6.24 7.05 6.91 5.93 5.59 5.32 5.52 6.03 5.66 ...
$ Quad : Factor w/ 4 levels "NE","NW","SE",..: 2 2 2 2 2 2 2 2 2 2 ...

A coluna r é um valor numérico que indica em qual linha do campo um gráfico individual reside. A coluna c é um valor numérico que indica em qual coluna um gráfico individual reside.
A coluna Quad corresponde à localização geográfica no campo em que cada parcela reside

Quad <- ifelse(mhw$c > 13 & mhw$r < 11, "NE",ifelse(mhw$c < 13 & mhw$r < 11,"NW", ifelse(mhw$c < 13 & mhw$r >= 11, "SW","SE")))
mhw <- cbind(mhw, Quad)

Eu ajustei umlm()&nbsp;do seguinte modo

nov.model <-lm(mhw$grain ~ mhw$straw)
anova(nov.model)

Isto é umanova()&nbsp;para todo o campo, que está testando o rendimento de grãos em relação ao rendimento de palha para cada parcela no conjunto de dados.

Meu problema é que eu quero dirigir um indivíduoanova()&nbsp;para a coluna Quad dos meus dados para testar o rendimento de grãos e o rendimento de palha em cada quadrante.

talvez umwith()&nbsp;pode consertar isso. Eu nunca o usei antes e atualmente estou aprendendo R. Qualquer ajuda seria muito apreciada.