Thank you Mauricio and Yves!
I think I've just made a rooky mistake!
By following Yves's suggestion of A.method="exact", I could see that the problems was that in the eyes of lavaan my models weren't nested.
I hadn't specified the baseline model with the additional parameters fixed to 0.
I'm leaving this here in case someone else makes the same mistake. So, this is what I had done (borrowing from Mauricio's example):
m0 <- '
visual =~ x1 + x2 + x3 + x4
textual =~ x5+ x6 + x7 + x8
speed =~ x8 + x9 + x10
'
m1 <- '
visual =~ x1 + x2 + x3 + x4
textual =~ x5+ x6 + x7 + x8
speed =~ x8 + x9 + x10 + x11
'
lavTestLRT(m0, m1)
Error!
This is what I should've done:
m0b <- '
visual =~ x1 + x2 + x3 + x4
textual =~ x5+ x6 + x7 + x8
speed =~ x8 + x9 + x10 + 0*x11
'
m1b <- '
visual =~ x1 + x2 + x3 + x4
textual =~ x5+ x6 + x7 + x8
speed =~ x8 + x9 + x10 + x11
'
lavTestLRT(m0b, m1b)
m0 is statistically equivalent to m0b, but it needs to be specified in the latter way for difftest to work. I know this is probably obvious to most of you, but it wasn't to me.
Thanks for your help and apologies for the silly mistake!
P