Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 将字符串添加为具有已定义函数的公式_R_Formula_Mgcv - Fatal编程技术网

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)
}

myfun
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)
}

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)
}