R에 사용 가능한 형식으로 변환해야하는 함수에 문자열 입력을 사용하려고합니다. 예 :R : 함수 입력에서 함수 식에서 표현식의 일부로 문자열 변환
다음과 같은 기능이 있습니다 :
MyFunction <- function(MyDataFrame){
Fit <- aov(VariableA ~ A * B * C, MyDataFrame)
model = lme(VariableA ~ A * B * C, random=~1| Sample, method="REML", MyDataFrame)
return(anova(model))
}
이 작동합니다. 그러나 "Expression"이 "A * B * C"
또는 "A * C"
일 수 있기 때문에 때로는 하나의 함수로 다른 수식을 사용하려고합니다. 사용해 보았습니다 :
MyFunction <- function(MyDataFrame, Expression = "A * B * C"){
Fit <- aov(VariableA ~ Expression, MyDataFrame)
model = lme(VariableA ~ Expression, random=~1| Sample, method="REML", MyDataFrame)
return(anova(model))
}
이것은 작동하지 않습니다. 어떤 제안?
하는' – Lamia
사용'as.formula (paste0 ("VariableA ~"식)) 시도 즉'Expression = ~ A * B * C' 문자열 대신에 공식을 사용하고, 함수 내에서'lme (update (VariableA ~., expression)) '를 사용하십시오. 'update'를 호출하면 수식'VariableA ~ .'이'VariableA ~ A * B * C'로 업데이트됩니다. – yeedle