R 将字符串添加为具有已定义函数的公式
我想定义一个函数,当我输入一个字符串作为协变量时,函数将把我的字符串放在特定的位置,并将其转换为公式。我知道我的代码不正确,但我不知道如何编写它R 将字符串添加为具有已定义函数的公式,r,formula,mgcv,R,Formula,Mgcv,我想定义一个函数,当我输入一个字符串作为协变量时,函数将把我的字符串放在特定的位置,并将其转换为公式。我知道我的代码不正确,但我不知道如何编写它 我想要的是,当我键入covars时,您是否正在查找此项,不确定,但请使用paste0尝试此as.formula: myfunc_formula <- function(covars){ return(as.formula(paste0('cvd ~ pm10 ', covars))) } 此外,我们还可以通过为输入提供参数(如目标变量名等),使
我想要的是,当我键入
covars时,您是否正在查找此项,不确定,但请使用paste0尝试此as.formula
:
myfunc_formula <- function(covars){
return(as.formula(paste0('cvd ~ pm10 ', covars)))
}
此外,我们还可以通过为输入提供参数(如目标变量名等),使其更加灵活
例如,另一个版本可以是:
myfunc_formula_v2 <- function(covars, target='cvd'){
return(as.formula(paste0(target, ' ~ pm10 ', covars)))
}
给定covars=“+s(time,bs='cr',fx=TRUE,k=7)”
您是否正在查找此项,不确定,但尝试此作为。公式与粘贴0
:
myfunc_formula <- function(covars){
return(as.formula(paste0('cvd ~ pm10 ', covars)))
}
此外,我们还可以通过为输入提供参数(如目标变量名等),使其更加灵活
例如,另一个版本可以是:
myfunc_formula_v2 <- function(covars, target='cvd'){
return(as.formula(paste0(target, ' ~ pm10 ', covars)))
}
给定的covars=“+s(time,bs='cr',fx=TRUE,k=7)”
paste0
有效,但重新格式化
稍微优雅一些:
myfun <- function(covars){
form <- reformulate(c("pm10",covars), response="cvd")
gam.model <- gam(form, data = chicagoNMMAPS , family =poisson, na.rm=TRUE)
summary(gam.model)
}
myfunpaste0
有效,但重新格式化
稍微优雅一些:
myfun <- function(covars){
form <- reformulate(c("pm10",covars), response="cvd")
gam.model <- gam(form, data = chicagoNMMAPS , family =poisson, na.rm=TRUE)
summary(gam.model)
}
myfun您可以使用paste
连接字符串和as.formula
将字符串转换为公式您可以使用paste
连接字符串和as.formula
将字符串转换为公式
myfun <- function(covars){
form <- reformulate(c("pm10",covars), response="cvd")
gam.model <- gam(form, data = chicagoNMMAPS , family =poisson, na.rm=TRUE)
summary(gam.model)
}