【问题标题】:Trying to predict values in a column using a model in R尝试使用 R 中的模型预测列中的值
【发布时间】:2021-02-21 22:36:43
【问题描述】:

我会提前声明,我在 R 方面的经验很少,非常感谢人们提供的任何帮助。

我有一个值的数据框(我认为):

enter image description here

我正在尝试使用我根据其他数据创建的模型以及“ThatwgFAC”和“ThalwgSlop”的值来预测“PredBFwdth”列的每个值。

模型名称为“模型”;它是一个广义的加法模型,所以我会使用 predict.gam。我认为代码看起来像:

PredBFwdth = predict.gam(Model, ThalwgFAC, ThalwgSlop)

这显然行不通。我需要使用 ThalwgFAC 和 ThalwgSlop 列和模型中的相应值对数据中的每一行进行预测。有人可以帮忙吗?我四处寻找答案,但其他人问题的代码对我来说是难以理解的。 :(

【问题讨论】:

标签: r dataframe model prediction gam


【解决方案1】:

我强烈建议提供足够的数据和代码来创建可重现的示例。这意味着您的数据可能是什么样的示例以及您正在尝试使用哪些代码以提供帮助。

首先,我将从 data.frame 中的一些假数据开始

dat <- data.frame(

ThalwgFAC = rnorm(100,3,5),
ThalwgSlop = rnorm(100,3,2),
ThalwgEv = rnorm(100,2,2)
)

接下来,你适合你的模型

library(mgcv)

fit <- gam(ThalwgEv ~ s(ThalwgFAC) + s(ThalwgSlop), data = dat)

现在关于预测新数据的问题,您可以将新数据(作为数据框)提供给 predict 函数并指定您要使用的模型(上面的 fit 对象)。这假定数据框包含用于模型的相同变量名称(例如 ThalwgFAC 和 ThalwgSlop)。

dat2 <- data.frame(
  
  ThalwgFAC = rnorm(100,3,5),
  ThalwgSlop = rnorm(100,3,2),
  ThalwgEv = rnorm(100,2,2)
)

pred <- predict(fit, newdata = dat2)

predict 函数将获取 fit 对象的类,因此无需指定要使用的方法(即 predict.gam)。

【讨论】:

    猜你喜欢
    • 2019-01-21
    • 1970-01-01
    • 2023-04-09
    • 2020-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    相关资源
    最近更新 更多