On Wed, 3 Aug 2011, peter dalgaard wrote:
On Aug 3, 2011, at 12:30 , Jannis wrote:
Dear List,
i would like to mimic the behaviour or the following indexing with a do.call
construct to be able to supply the arguments to `[` as a list:
test = matrix[1:4,2]
result = test[2,]
My try, however, did not work:
result = do.call(`[`,list(test,2,NULL))
result = do.call(`[`,list(test,2,))
result = do.call(`[`,list(test,2,''))
How can I use the do.call in that way with leaving the second indexing vector
blanc?
alist() actually allows this, although probably more by coincidence than by
design.
Watch:
do.call(`[`, alist(test, 2, ))
[1] 2 4
If you want to turn this into a programming idiom, be aware that there are
subtle differences because alist() does not evaluate its arguments. E.g., the
two plots below are not quite the same.
x <- 1:10
y <- rnorm(10)
do.call(plot, list(x, y))
do.call(plot, alist(x, y))
I decided to forbear suggesting that, not least as someone who writes
test = matrix[1:4,2]
appears to know very little R and test even less.
But for indexing the answer could be something like
do.call(`[`, list(test, 2, TRUE))
as in almost all cases (including here) an empty index is equivalent
to TRUE (which is recycled to the required length).
--
Peter Dalgaard, Professor,
Center for Statistics, Copenhagen Business School
Solbjerg Plads 3, 2000 Frederiksberg, Denmark
Phone: (+45)38153501
Email: pd....@cbs.dk Priv: pda...@gmail.com
--
Brian D. Ripley, rip...@stats.ox.ac.uk
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.