Ich versuche, einen String-Eingang für eine Funktion zu verwenden, die dann beispielsweise in nutzbare Form in R. umgewandelt werden muss:R: Konvertieren eine Zeichenfolge aus einer Funktion eingegeben Teil eines Ausdrucks in der Funktion
Ich habe folgende Funktion:
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))
}
Das funktioniert gut. Manchmal möchte ich jedoch verschiedene Formeln mit einer einzigen Funktion verwenden, so dass mein "Ausdruck" "A * B * C"
oder "A * C"
sein kann. Ich versuchte mit:
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))
}
Dies funktioniert nicht. Irgendwelche Vorschläge?
Versuchen 'as.formula (paste0 ("Variablea ~", Expression))' – Lamia
Verwenden eine Formel anstelle einer Zeichenkette, dh 'Ausdruck = ~ A * B * C 'und dann' lme (update (VariableA ~., Ausdruck)) 'innerhalb Ihrer Funktion. Der Aufruf von 'update' aktualisiert Ihre Formel' VariableA ~ .' auf 'VariableA ~ A * B * C' – yeedle