Hi the list Is it possible to create an empty matrix ? I do not mean an matrix with a single value that is NA (which is not empty) but a real empty one, with length=0. I do not understand why we have length(numeric()), length(factor()) and length(character()) to zero, and length(array()) to one... Any rason for that ? Thanks Christophe
On Sat, Mar 15, 2008 at 04:33:32PM +0100, Christophe Genolini wrote:> Hi the list > > Is it possible to create an empty matrix ? I do not mean an matrix with > a single value that is NA (which is not empty) but a real empty one, > with length=0.Sure:> matrix(nrow=0, ncol=5)[,1] [,2] [,3] [,4] [,5]> a <- array( dim=c(5,4,0) ) > dim(a)[1] 5 4 0> length(a)[1] 0> I do not understand why we have length(numeric()), length(factor()) and > length(character()) to zero, and length(array()) to one... Any rason for > that ?That i don't know, maybe someone else does. G.> Thanks > > Christophe > > ______________________________________________ > R-help at 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.-- Csardi Gabor <csardi at rmki.kfki.hu> UNIL DGM
Will mymatrix <- NULL do what you want? --- Christophe Genolini <cgenolin at u-paris10.fr> wrote:> Hi the list > > Is it possible to create an empty matrix ? I do not > mean an matrix with > a single value that is NA (which is not empty) but a > real empty one, > with length=0. > > I do not understand why we have length(numeric()), > length(factor()) and > length(character()) to zero, and length(array()) to > one... Any rason for > that ? > > Thanks > > Christophe > > ______________________________________________ > R-help at 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. >
Hello everyone
I know other, more knowledgeable, people
have replied to Christophe's question, but
perhaps the List would be interested to know
that zero-extent arrays are useful (to me at least)
because although such an array has no content, the
dimname are nevertheless retained:
> a <- array(0,dim=c(0,3))
> dimnames(a) <- list(size=c() ,
fish=c("cod","skate","crab"))
> b <- array(0,dim=c(2,0))
> dimnames(b) <-
list(size=c("huge","small"),depth=c())
>
We can attach these arrays ---both of which are of length 0---using
adiag():
> library(magic)
> adiag(a,b)
fish
size cod skate crab
huge 0 0 0
small 0 0 0
>
Note how the dimnames of "a" and "b" are retained in the
output.
The contents of this array are the default "pad" value of adiag().
This is terribly useful in the humble workaday world
of high-dimensional magic hypercubes.
rksh
On 15 Mar 2008, at 15:33, Christophe Genolini wrote:
> Hi the list
>
> Is it possible to create an empty matrix ? I do not mean an matrix
> with
> a single value that is NA (which is not empty) but a real empty one,
> with length=0.
>
> I do not understand why we have length(numeric()), length(factor())
> and
> length(character()) to zero, and length(array()) to one... Any rason
> for
> that ?
>
> Thanks
>
> Christophe
>
> ______________________________________________
> R-help at 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.
--
Robin Hankin
Uncertainty Analyst and Neutral Theorist,
National Oceanography Centre, Southampton
European Way, Southampton SO14 3ZH, UK
tel 023-8059-7743