使用 "paste" 在 r 中生成函数
Use "paste" to generate function in r
我打算用paste生成公式,但我只知道前半部分怎么做。上半场是Surv(age, group)~x
;但我如何添加后半部分,使最终产品成为 Surv(age, group)~x + strata(factor(gender), bmi)
?
这是我目前拥有的,但它不起作用...
tmpfun <- function(x) as.formula(c(paste("Surv(age, group)", x , sep="~"), paste0("+ strata(factor(gender), bmi)")))
你快到了。我刚刚更改了 paste0
位置。
tmpfun <- function(x) as.formula(paste0(paste("Surv(age, group)", x , sep="~"), "+ strata(factor(gender), bmi)"))
您可以将超过 2 个参数传递给 paste
。
tmpfun <- function(x) {
as.formula(
paste("Surv(age, group) ~", x, "+ strata(factor(gender), bmi)")
)
}
尽管 sprintf
可能更简洁一些。
tmpfun <- function(x) {
as.formula(
sprintf("Surv(age, group) ~ %s + strata(factor(gender), bmi)", x)
)
}
我打算用paste生成公式,但我只知道前半部分怎么做。上半场是Surv(age, group)~x
;但我如何添加后半部分,使最终产品成为 Surv(age, group)~x + strata(factor(gender), bmi)
?
这是我目前拥有的,但它不起作用...
tmpfun <- function(x) as.formula(c(paste("Surv(age, group)", x , sep="~"), paste0("+ strata(factor(gender), bmi)")))
你快到了。我刚刚更改了 paste0
位置。
tmpfun <- function(x) as.formula(paste0(paste("Surv(age, group)", x , sep="~"), "+ strata(factor(gender), bmi)"))
您可以将超过 2 个参数传递给 paste
。
tmpfun <- function(x) {
as.formula(
paste("Surv(age, group) ~", x, "+ strata(factor(gender), bmi)")
)
}
尽管 sprintf
可能更简洁一些。
tmpfun <- function(x) {
as.formula(
sprintf("Surv(age, group) ~ %s + strata(factor(gender), bmi)", x)
)
}