You need to use substitute() on the call.  Something like

sapply(1:5,function(i)
       eval(substitute(svm(person_oid ~ ., data=zrr[1:N,]), list(N=100*i))
       )
On Sun, 12 Oct 2008, Alexy Khrabrov wrote:

I want to train svm models on increasingly large training data subsets of some zrr as follows:

m <- sapply(1:5,function(i) svm(person_oid~.,data=zrr[1:100*i,]))    # (*)

However, when I inspect m[1], it literally shows

m[1]
[[1]]
svm(formula = person_oid ~ ., data = zrr[1:N, ])

I suspect it shows '100*i' not 'N', but in the absence of a reproducible example, I cannot check.

-- as opposed to

m1 <- svm(person_oid~.,data=zrr[1:100,])
m1
m1

Call:
svm(formula = person_oid ~ ., data = zrr[1:100, ])
... -- actual parameters

How do I force actual model evaluation in (*) ?

I don't think that is the issue, just the recorded call.

Cheers,
Alexy

--
Brian D. Ripley,                  [EMAIL PROTECTED]
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to