如果我使用包 nlme 中的 lme 函数并编写
m <- lme(y ~ Time, random = ~1|Subject)
然后写
Variogram(m, form = ~Time|Subject)
它产生变异函数没问题。
但是,如果我使用 lm 没有随机效应,
m <- lm(y ~ Time)
和写
Variogram(m, form = ~Time)
它产生
Error in Variogram.default(m, form = ~Time) :
argument "distance" is missing, with no default
这是怎么回事?为什么当我适合lm时它需要一个距离,而以前用lme不需要它?
那么如何在不需要指定“距离”的情况下绘制变异函数呢?我使用其他建模方法也有同样的问题:glm、gam、gamm 等。
编辑:
您可以使用例如 nlme 中的 BodyWeight 数据自己验证所有这些。
> m <- lm(weight ~ Time, data = BodyWeight)
> Variogram(m, form =~Time)
Error in Variogram.default(m, form = ~Time) :
argument "distance" is missing, with no default