!{ animal animal.age us(2).animal !}is correct because us(2).animal assumes 2 sets of animal effects. However
!{ animal animal.age animal.us(2) !}is wrong. Briefly, the rules are:
yield ~ mu variety !r repl column.row 0 0 1 column.row 2 column 0 AR1 0.4 row 0 AR1V 0.3 0.1is for column.row which tells ASReml that the direct product structure matches the effects ordered rows within columns. (The variance model can be written as σ2(I+ΣC ⊗ λ ΣR).)
yield ~ mu variety !r repl ar1(column 0.4).ar1v(row 0.3 0.1)Thus the G structure definition line for column is specified first,