【问题标题】:Predicting values based on a GAM conducted on a seperate dataframe基于在单独数据帧上进行的游戏预测值
【发布时间】:2015-07-24 13:36:05
【问题描述】:

我有 2 个高度相关的变量(尽管不是完全线性的,因此是广义加性模型),它们是在一个时间段内测量的。我可以在这些之间构建一个可靠的 GAM,其中包含大量的偏差解释和良好的验证图。因此,例如在一些假设数据上(忽略此示例中解释的验证图和偏差),

date <- as.data.frame(seq(from = as.POSIXct("2007/9/01"), 
                      to = as.POSIXct("2008/3/01"), by = "day"))
a1 <- as.data.frame(matrix(sample(0:1000, 18.3*10, replace=TRUE), ncol=1))
b1 <- as.data.frame(matrix(sample(0:1000, 18.3*10, replace=TRUE), ncol=1))
df1 <- cbind(date,a1,b1)
colnames(df1) <- c("date","a1","b1")
library(mgcv)
gam <- gam(a1 ~ s(b1), data = df1)

现在在一个单独的数据帧上,我在更长的时间段内测量了其中一个变量。有没有办法在这段时间内预测第二个响应变量?比如……

date2 <- as.data.frame(seq(from = as.POSIXct("2006/1/01"), 
                       to = as.POSIXct("2008/12/31"), by = "day"))
a2 <- as.data.frame(matrix(sample(0:1000, 109.6*10, replace=TRUE), ncol=1))
df2 <- cbind(date2,a2)
colnames(df2) <- c("date","a2")

我试过这个似乎不起作用。

    b2_predict <- predict.gam(gam,df2$a2)

我收到此错误消息

b2_predict model.frame.default(ff, data = newdata, na.action = na.act) 中的错误:
变量“b1”的类型(列表)无效

知道怎么解决吗?

【问题讨论】:

    标签: r predict mgcv


    【解决方案1】:

    也许这会有所帮助:

    b2_predict <- predict.gam(gam,data.frame(b1=df2$a2))
    

    【讨论】:

    • 我的脚本上出现了同样的错误信息
    • 好的,将 b2_predict 之前的行更改为 : colnames(df2)
    • 非常感谢您!我没有看到上面代码中的错字。
    猜你喜欢
    • 2023-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多