[Rd] Inconsistent behavior of summary

Duncan Murdoch murdoch.duncan at gmail.com
Sat Oct 15 12:41:08 CEST 2016


On 15/10/2016 5:48 AM, Kaiyin Zhong wrote:
> Here is the code:
>
> summary(c(1:5, NA))
> summary(c("a", NA))
>
> It seems in the firs case the number of NAs is reported, but not in the
> second.
>
> Tested with R 3.3.1 on a mac.

summary() is a generic function, so the output depends on the class of 
the input.  There's no special method for character vectors, so you get 
the default output.  Numeric vectors show more detail.

If you want a particular behaviour for character objects, just write a 
summary.character method.

Here's the default:

 > summary(c("a", NA))
    Length     Class      Mode
         2 character character

Here's a method and example using it:

 > summary.character <- function (x, ...) { cat("this character vector 
has", sum(is.na(x)), " NA value(s)\n")}

 > summary(c("a", NA))
this character vector has 1  NA value(s)

Duncan Murdoch



More information about the R-devel mailing list