【问题标题】:Creating a Function from svyglm从 svyglm 创建一个函数
【发布时间】:2017-02-17 01:31:12
【问题描述】:

我使用调查包拟合了以下 glm 模型:

design <- svydesign(ids=training.data$name, design=design,family=quasibinomial(), data=training.data)
significant.model <- svyglm(Win~x+ y + start+ speed+ vx0 + vy0 + ay + az + length+ rate+ height+ hand+ zone+ count, design=design, family=quasibinomial, data=training.data)

我有一组从模型拟合过程中排除的测试数据,以便我能够看到模型如何预测测试数据的结果并检查差异。

通常,我会在马赛克包中使用 makeFun,但这不支持 svyglm 类型的对象。是否有其他函数或方法可用于为模型创建函数?

分类变量多,层次多,这种情况下写自定义函数并不理想。

【问题讨论】:

  • 你能解释一下为什么你不能使用predict函数吗?
  • 我使用了 predict(significant.model, data=test.data),但它仍然对训练数据进行预测。
  • 我很确定它不会那样做。根据您想要的newdata= 帮助页面newdata= 而不是data=

标签: r glm predict survey


【解决方案1】:

我不确定您遇到了什么困难,因为您的示例不可重现。但是由于svyglm 对象 glm 对象,makeFun() 将在predict() 周围创建一个包装器,就像它对任何glm 对象所做的那样。这尚未经过广泛测试,但似乎在以下示例中有效:

r example(svyglm) f <- makeFun(api.reg) f(enroll = 500)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-16
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多