【发布时间】:2021-05-08 14:06:50
【问题描述】:
我想编写一个从gam 模型中提取一些信息的函数。
我可以在没有自定义函数的情况下做到这一点(df 是我想要的):
library(mgcv)
library(tidyverse)
model = gam(mpg ~ cyl, data = mtcars)
result = summary(model)$p.table
estimate = result[2,1]
se = result[2,2]
df = data.frame(estimate = estimate, se = se)
df
然后我用自定义函数包裹它:
my_gam <- function(y, x, data){
model = gam(y ~ x, data = data)
result = summary(model)$p.table
estimate = result[2,1]
se = result[2,2]
df = data.frame(estimate = estimate, se = se)
df
}
但我无法正确使用我的功能。
my_gam(y = mpg, x = cyl, data = mtcars)
eval 中的错误(predvars、data、env):找不到对象“cyl”
my_gam(y = 'mpg', x = 'cyl', data = mtcars)
gam(y ~ x, data = data) 中的错误: 没有足够的(非 NA)数据来做任何有意义的事情
当我运行my_gam(y = mpg, x = cyl, data = mtcars) 时,我是否可以将df 作为第一个代码块。
任何帮助将不胜感激!
【问题讨论】:
标签: r dplyr model evaluation