Hi. On Mon, Jan 12, 2009 at 11:58 PM, Prof Brian Ripley <rip...@stats.ox.ac.uk> wrote: > What you have is a one-dimensional array: they crop up in R most often from > table() in my experience. > >> f <- table(rpois(100, 4)) >> str(f) > > 'table' int [, 1:10] 2 6 18 21 13 16 13 4 3 4 > - attr(*, "dimnames")=List of 1 > ..$ : chr [1:10] "0" "1" "2" "3" ... > > and yes, f is an atmoic vector and yes, str()'s notation is confusing here > but if it did [1:10] you would not know it was an array. I recall > discussing this with Martin Maechler (str's author) last century, and I've > just checked that R 2.0.0 did the same. > > The place in which one-dimensional arrays differ from normal vectors is how > names are handled: notice that my example has dimnames not names, and ?names > says > > For a one-dimensional array the 'names' attribute really is > 'dimnames[[1]]'.
Thanks for this explanation. One could then argue that [1:10,] is somewhat better than [,1:10], but that is just polish. /Henrik > > I think these days we have enough internal glue in place that an end user > would not notice the difference (but those working at C level with R objects > may need to know). > > On Mon, 12 Jan 2009, Henrik Bengtsson wrote: > >> Ran into the follow intermediate case in an external package (w/ >> recent R v2.8.1 patched and R v2.9.0 devel): >> >>> x <- 1:2 >>> dim(x) <- 2 >>> dim(x) >> >> [1] 2 >>> >>> x >> >> [1] 1 2 >>> >>> str(x) >> >> int [, 1:2] 1 2 >>> >>> nrow(x) >> >> [1] 2 >>> >>> ncol(x) >> >> [1] NA >>> >>> is.vector(x) >> >> [1] FALSE >>> >>> is.matrix(x) >> >> [1] FALSE >>> >>> is.array(x) >> >> [1] TRUE >>> >>> x[1] >> >> [1] 1 >>> >>> x[,1] >> >> Error in x[, 1] : incorrect number of dimensions >>> >>> x[1,] >> >> Error in x[1, ] : incorrect number of dimensions >> >> Is str() treating single-dimension arrays incorrectly? >> >> What does it mean to have a single dimension this way? Should it >> equal a vector? I am aware of "is.vector returns FALSE if x has any >> attributes except names". >> >> /Henrik >> >> ______________________________________________ >> R-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel >> > > -- > 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-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel