2017-09-18 1 views
0

저는 수식을 생성하기 위해 붙여 넣기를 사용할 계획이지만 처음 절반 만 수행하는 방법을 알고 있습니다. 전반은 Surv(age, group)~x입니다. 그러나 어떻게하면 최종 제품을 Surv(age, group)~x + strata(factor(gender), bmi)으로 만드는 후반부에 추가 할 수 있습니까?"paste"를 사용하여 함수를 생성하십시오.

이 나는 ​​순간이 그것이 작동하지 않는 것입니다 ...

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

답변

1

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

당신은 거의 있었다. 방금 paste0 장소를 변경했습니다.

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