From sds at gnu.org  Wed Sep 11 18:07:19 2013
From: sds at gnu.org (Sam Steingold)
Date: Wed, 11 Sep 2013 12:07:19 -0400
Subject: [Rd] [PATCH] show vector length in summary()
References: <8738pcu4qa.fsf@gnu.org> <21039.14589.7764.131241@max.nulle.part>
	<87y574sji3.fsf@gnu.org>
	<CCCFD922-6B60-4D4C-8A08-AA17C8745465@r-project.org>
Message-ID: <87ob7zpcjs.fsf@gnu.org>

> * Simon Urbanek <fvzba.heonarx at e-cebwrpg.bet> [2013-09-10 18:38:29 -0400]:
>
> On Sep 10, 2013, at 12:56 PM, Sam Steingold wrote:
>
>>> * Dirk Eddelbuettel <rqq at qrovna.bet> [2013-09-10 10:21:33 -0500]:
>>> 
>>> On 10 September 2013 at 10:32, Sam Steingold wrote:
>>> | (summary.default): show the vector length in addition to quantiles
>>> | 
>>> | 
>>> | diff -u -i -p -F '^(def' -b -w -B /home/sds/src/R-3.0.1/src/library/base/R/summary.R.old /home/sds/src/R-3.0.1/src/library/base/R/summary.R
>>> | --- /home/sds/src/R-3.0.1/src/library/base/R/summary.R.old	2013-03-05 18:02:33.000000000 -0500
>>> | +++ /home/sds/src/R-3.0.1/src/library/base/R/summary.R	2013-09-10 10:19:02.682946339 -0400
>>> | @@ -39,6 +39,7 @@ summary.default <-
>>> |  	qq <- stats::quantile(object)
>>> |  	qq <- signif(c(qq[1L:3L], mean(object), qq[4L:5L]), digits)
>>> |  	names(qq) <- c("Min.", "1st Qu.", "Median", "Mean", "3rd Qu.", "Max.")
>>> | +  qq <- c(qq,"Length" = length(object))
>>> |  	if(any(nas))
>>> |  	    c(qq, "NA's" = sum(nas))
>>> |  	else qq
>>> | 
>>> | Diff finished.  Tue Sep 10 10:19:40 2013
>>> 
>>> Base R functions are rarely modified; others may have expectations on
>>> summary() returning the six values it returns.
>> 
>> Note that summary sometimes returns 5 values (when there no "NA's").
>> It is clearly wrong to rely on the details of the return value of a UI function.
>> 
>
> .. except that summary() is not a UI function. It is used to create
> summary *objects*, not some UI output. Although sometimes users like to
> print such summary objects, that is not the task of summary(). There are
> quite common programmatic uses of summary() -- one prominent one that
> comes to my mind is in conjunction with connections.

you mean, saving to files?

>  (Not that any of this has anything to do with the original question ... )

well, it does: what are the "common programmatic uses of summary" which
rely on its number of values?

-- 
Sam Steingold (http://sds.podval.org/) on Ubuntu 13.04 (raring) X 11.0.11303000
http://www.childpsy.net/ http://truepeace.org http://www.memritv.org
http://honestreporting.com http://camera.org http://americancensorship.org
To understand recursion, one has to understand recursion first.



[Rd] [PATCH] show vector length in summary()
Sam Steingold