次の例があります(これは私のデータと同様の形式です)。
set.seed(1)
RandData <- runif(8760*2)
Locations <- rep(c('UK','France'),each=8760)
Date = seq(from=as.POSIXct("1991-01-01 00:00"),
to=as.POSIXct("1991-12-31 23:00"), length=8760)
Final <- data.frame(Loc = Locations,
Doy = as.numeric(format(Date,format = "%j")),
Tod = as.numeric(format(Date,format = "%H")),
Temp = RandData)
require(mgcv)
mod1 <- gam(Temp ~ Loc + s(Doy) + s(Doy,by = Loc) +
s(Tod) + s(Tod,by = Loc),data = Final)
plot(mod1,pages = 1, scale = 0)
このモデルから、最初にプロットされた結果は、年の日の関数としての平均気温変化を示し、次に各場所の気温がこの平均から変化する量を示します。時刻についても同じことが示されています。
これに伴う問題は、y軸が正しい範囲の値を表示しないことです。つまり、最初のプロットはこれらの場所の平均温度を表示しません。プロットを変更して、(1)両方の場所の平均温度、および(2)任意の数値ではなく平均と比較した各場所の温度を表示するにはどうすればよいですか。
意図を明確に表現できない場合は、お知らせください。より良い例を提供するよう努めます。