我正在模拟四个河口的盐度水平与一条大河的淡水排放(影响所有 4 个河口)的关系,其中每个盐度站都作为随机效应包括在内(每个河口有多个传感器)。
我的 df 看起来像这样:*注意 = 实际上,每个站都有几十个,如果不是几百个,每个观测
estuary station salinity discharge
A s1 10.8 1185.18
A s2 11.1 1551.91
A s3 12.5 1749.98
B s4 9.2 1100.65
B s5 11.8 1692.67
C s6 8.1 591.41
C s7 8.7 742.88
D s8 10.4 1098.1
D s9 11.9 1174.6
我使用自启动函数 SSasymp 为数据拟合了指数衰减函数。该模型将站点作为随机效应。下面的代码:
df$station <- as.factor(df$station)
df.g <- groupedData(salinity ~ discharge | station, data = df)
df.nlis <- nlsList(salinity ~ SSasymp(discharge, Asym, R0, lrc), data = df.g)
## Fit a nonlinear mixed model
df.nlme <- nlme(df.nlis, control=list(MaxIter = 200, msVerbose = T))
我还想运行另一个将河口作为固定效应的模型,但是我不确定如何编写模型。我试过了:
df.g <- groupedData(salinity ~ discharge + estuary | station, data = df)
df.nlis <- nlsList(salinity ~ SSasymp(discharge, Asym, R0, lrc) + estuary, data = df.g)
df.nlme <- nlme(df.nlis, control=list(MaxIter = 200, msVerbose = T))
但是当它运行时,我收到消息:
Error in names(start$fixed) <- names(cf) : attempt to set an attribute on
NULL