1) Paste zusammen die Formel:
fun <- function(resp, data) C5.0(as.formula(paste(resp, "~ .")), data = data)
# test
library(C50)
fun("Species", iris)
geben:
Call:
C5.0.formula(formula = as.formula(paste(resp, "~ .")), data = data)
Classification Tree
Number of samples: 150
Number of predictors: 4
Tree size: 4
Non-standard options: attempt to group attributes
2) Oder diese Variante, die auf der Linie nach Anruf schönere Wiedergabe des Anrufs gibt: in die Ausgabe:
fun <- function(resp, data)
do.call(C5.0, list(as.formula(paste(resp, "~ .")), data = substitute(data)))
fun("Species", iris)
geben:
Call:
C5.0.formula(formula = Species ~ ., data = iris)
Classification Tree
Number of samples: 150
Number of predictors: 4
Tree size: 4
ist hier ein zweiter Test dieser Version von fun
den eingebauten Datenrahmen mit CO2
:
fun("Plant", CO2)
geben:
Call:
C5.0.formula(formula = Plant ~ ., data = CO2)
Classification Tree
Number of samples: 84
Number of predictors: 4
Tree size: 7
Non-standard options: attempt to group attributes
es sagt Objekt "resp" nicht gefunden – Cybernetic
Die Ausgabe ist oben gezeigt und es gibt diesen Fehler nicht für mich. Ich benutze C50 Version '0.1.0.24' und 'R Version 3.3.0 gepatcht (2016-05-03 r70575) " auf Windows. –
Ich sehe, Sie verwenden "Arten" explizit, und auch die Iris-Datensatz. Ich kann das nicht mit einem beliebigen Zielmerkmalsnamen oder einem beliebigen Dataset arbeiten ... wie in meiner Frage – Cybernetic