Skip to content

randomForest Error passing string argument

2 messages · mmv, Uwe Ligges

mmv
#
I'm attempting to pass a string argument into the function
randomForest but I get an error:

state <- paste(list("fruit ~", "apples+oranges+blueberries",
"data=fruits.data, mtry=2, do.trace=100, na.action=na.omit,
keep.forest=TRUE"), sep= " ", collapse="")

model.rf <- randomForest(state)

Error in if (n==0) stop ("data(x) has 0 rows") argument is of length zero.

-Thanks in advance,
#
mmv wrote:

            
I really don't understand why you want it as a character.
I think you probably want to generate arguments dynamically and specify 
them in form of a list, which leads to constructions using do.call() at 
the end.

Anyway, if you really want to call randomForest with the abouve text, I 
guess this is one of tzhe few circumstances where you can do 
eval(parse(.....)):

state <- paste("fruit ~", "apples+oranges+blueberries,",
   "data=fruits.data, mtry=2, do.trace=100, na.action=na.omit,
    keep.forest=TRUE")
the_call <- paste("randomForest(", state, ")")
eval(parse(text=the_call))

Uwe Ligges