使用"粘贴"在r

时间:2017-09-18 16:47:00

标签: r function formula 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)")))

2 个答案:

答案 0 :(得分:1)

你快到了。我刚刚更改了paste0个地方。

tmpfun <- function(x) as.formula(paste0(paste("Surv(age, group)", x , sep="~"), "+ strata(factor(gender), bmi)"))

答案 1 :(得分:1)

您可以将超过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)
    )
}