Skip to content
Back to formatted view

Raw Message

Message-ID: <4A0A96D9.8070305@biostat.ku.dk>
Date: 2009-05-13T09:46:01Z
From: Peter Dalgaard
Subject: where does the null come from?
In-Reply-To: <4A0A91AE.5040007@idi.ntnu.no>

Wacek Kusnierczyk wrote:
>     m = matrix(1:4, 2)
> 
>     apply(m, 1, cat, '\n')
>     # 1 2
>     # 3 4
>     # NULL
> 
> why the null?

It comes from unlist()ing a list of NULLs, which in turn are the return
values of cat().

It is arguably a design-buglet not to return list(NULL, NULL), but the
internal logic is to unlist() unless the first element is.recursive (and
NULL is not) or the return values have different length() (and all are
zero). It _is_, however, in accordance with the documentation (see the
Value: section):

-- 
   O__  ---- Peter Dalgaard             ?ster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark      Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)              FAX: (+45) 35327907