2016-08-16 3 views
1

R을 모델 수식에 추가하려고합니다. 업데이트 함수에 직접 변수 이름을 입력하면 update()를 사용하는 것이 간단합니다. 그러나 변수 이름이 변수에 있으면 작동하지 않습니다.R에서 update()의 변수를 사용하여 수식 업데이트

myFormula <- as.formula(y ~ x1 + x2 + x3) 
addTerm <- 'x4' 

#Works: x4 is added 
update(myFormula, ~ . + x4) 
Output: y ~ x1 + x2 + x3 + x4 

#Does not work: "+ addTerm" is added instead of x4 being removed 
update(myFormula, ~ . + addTerm) 
Output: y ~ x1 + x2 + x3 + addTerm 

변수를 통해 x4를 추가하는 것은 약간 더 복잡한 방법으로 수행 할 수 있습니다.

formulaString <- deparse(myFormula) 
newFormula <- as.formula(paste(formulaString, "+", addTerm)) 
update(newFormula, ~.) 
Output: y ~ x1 + x2 + x3 + x4 

이러한 추가 단계가 필요없이 직접 update()를 수행 할 수있는 방법이 있습니까? 붙여 넣기, 구문 분석 및 다른 일반적인 기능을 시도했지만 작동하지 않습니다. paste0를 사용하는 경우

예를 들어, 출력은

입니다
update(myFormula, ~ . + paste0(addTerm)) 
Output: y ~ x1 + x2 + x3 + paste0(addTerm) 

사람이) (갱신의 변수를 사용하는 방법에 대한 권장 사항이 있습니까?

감사

답변

4

당신은 아마 수행 할 수 있습니다

update(myFormula, paste("~ . +",addTerm)) 
관련 문제