【问题标题】:Changing the units in a contour plot from vis.gam in mgcv从 mgcv 中的 vis.gam 更改等高线图中的单位
【发布时间】:2013-03-31 21:34:07
【问题描述】:

我正在使用变量的对数拟合模型,并且我想根据转换后的变量来展示我的结果。这是一个简单的例子:

library(mgcv)
N = seq(from=1,to=10,by=.01)
a = N^2
b = 1/N
y = log(a*b*runif(length(N)))
mod = gam(y~te(a,b))
vis.gam(mod, plot.type="contour")

我想生成相同的图表,但基于 exp(y) 而不是 y。

任何想法如何做到这一点?提前致谢。

【问题讨论】:

    标签: r graphics mgcv


    【解决方案1】:

    正如经常发生的那样,我在提出问题后立即想到了解决方案。

    只需输入vis.gam 并获取函数。将其复制/粘贴到脚本文件中。这是一个长函数。中途某处:

    fv <- predict.gam(x, newdata = newd, se.fit = TRUE, type = type)
    fv$fit = exp(fv$fit)   #INSERT THIS LINE HERE WITH WHATEVER FUNCTION YOU WANT TO MODIFY THE FITTED VALUES BY
    z <- fv$fit
    

    然后把函数名改成“mod.vis.gam”什么的,像使用任何函数一样使用它。效果很好。请注意,SE 不受影响。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多