簡體   English   中英

如何在R中使用Gamm模型指定隨機效果?

[英]How do I specify random effects using gamm models in R?

我在mgcv軟件包中使用gamm模型來分析特定多樣性的度量方式,例如。 香農會隨時間和環境變量而變化,例如。 溫度。

到目前為止,我已經有了初始模型來分析時間序列:

modf<-gamm(y~ as.factor(year) + s(doy,bs='cc',k=kdy),method=mth,correlation=tcor,data=d,
           control=ctrl,random=NULL,gamma=1)

我想將溫度作為隨機效應包括在內,並想做類似的事情:

modf<-gamm(y~ as.factor(year) + s(doy,bs='cc',k=kdy), + s(temp,bs="re"),method=mth,
           correlation=tcor,data=d,control=ctrl,gamma=1)

但是,到目前為止,我只看過gam而不是gamm。 這樣還可以嗎?

數據結構類型的示例:

  • $ total_bundance:編號6364161 1929775 7057036 1266342 3981198 ...
  • $ shannon:編號1.87 2.08 1.95 1.84 2.06 ...
  • $營業額:num 0.613 0.475 0.525 0.556 0.429 ...
  • $ year:int 1985 1986 1987 1987 1987 1988 1989 1989 1991
  • $ month:int 8 12 3 7 8 5 1 8 1 9 ...
  • $ day:int 20 8 15 6 17 9 16 29 14 4 ...
  • $ temp:num 25.5 9.87 4.8 19.72 26.03 ...
  • $ doy:num 23234274187187130130 241241247 ...

doy是“一年中的某天”並說明季節性

謝謝

除非您希望temp的線性效應在分組因子的水平內變化,否則您似乎想做的事情毫無意義。

通常,您可以使用random作為指定此隨機斜率

list(group = ~ x)

其中group是因子分組變量,而x是您的temp

你問與temp = ~ 1是的唯一值的隨機攔截temp ,這可能是太奢侈了數據。

等效於s(time, bs = "re")要求您從random公式中刪除截距:

 list(group = ~ x - 1)

但您仍然需要一個group變量。

如果只想控制temp ,請將其作為線性參數效果( + temp )或平滑效果( + s(temp) )添加到gamm()模型公式中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM