[R] interesting feature
Prof Brian Ripley
ripley at stats.ox.ac.uk
Wed Feb 18 18:04:55 CET 2004
You are adding a row with name "1" each time. R just adds a suffix to
make it unique. What you call indices are the *row names* of the data
frame.
Suppose the row name had been "Eden". Then "Eden1" and "Eden2" make more
sense than your suggestions.
On Wed, 18 Feb 2004, Svetlana Eden wrote:
> Hi, everybody.
> This was an interesting discussion last time and it helped me a lot.
>
> Could you please have a look at some feature and tell me
> why it was designed this way
> (my questions are under #########)
>
> > x = c(1, 10)
> > y = c(99, 55)
> > d <- data.frame(x = x, y = y)
> > d
> x y
> 1 1 99
> 2 10 55
> > add <- data.frame(x = 14, y = 99)
> > add
> x y
> 1 14 99
> > d <- rbind(d, add)
> > d
> x y
> 1 1 99
> 2 10 55
> 11 14 99
> ######### it would be more natural to index the rows: 1,2,3 instead of
> #1,2,11 ?!
> >
> > d[3,1]
> [1] 14
> > d[11,1]
> [1] NA
> ######### especially if index '11' is not functioning...
You need "11": it is a row name and not a row index.
> > add1 <- data.frame(x = 10, y = 87)
> > d <- rbind(d, add)
> ######### now I would think that the next index should be 21, BUT:
> > d
> x y
> 1 1 99
> 2 10 55
> 11 14 99
> 12 10 87
> ######### so what is the intuition of such indexing?
--
Brian D. Ripley, ripley at 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
More information about the R-help
mailing list