[Rd] inaccuracy in man page for duplicated() + anyDuplicated() not working with MARGIN=0

Hervé Pagès hpages at fhcrc.org
Thu Nov 17 07:40:23 CET 2011


Hi,

In man page for duplicated:

   Value:

      ‘duplicated()’: For a vector input, a logical vector of the same
      length as ‘x’.  For a data frame, a logical vector with one
      element for each row.  For a matrix or array, a logical array with
      the same dimensions and dimnames.

When 'x' is a matrix or array, the returned value is NOT a logical
array:

   > m <- matrix(c(3,2,7,6,2,7), nrow=3)
   > m
        [,1] [,2]
   [1,]    3    6
   [2,]    2    2
   [3,]    7    7
   > duplicated(m)
   [1] FALSE FALSE FALSE

Only if MARGIN=0 it seems:

   > duplicated(m, MARGIN=0)
         [,1]  [,2]
   [1,] FALSE FALSE
   [2,] FALSE  TRUE
   [3,] FALSE  TRUE

Also, any reason why this doesn't work?

   > anyDuplicated(m, MARGIN=0)
   Error in dim(newX) <- c(prod(d.call), d2) :
     dims [product 1] do not match the length of object [6]

May be it could be equivalent to:

   > anyDuplicated(as.vector(m))
   [1] 5

Thanks,
H.

-- 
Hervé Pagès

Program in Computational Biology
Division of Public Health Sciences
Fred Hutchinson Cancer Research Center
1100 Fairview Ave. N, M1-B514
P.O. Box 19024
Seattle, WA 98109-1024

E-mail: hpages at fhcrc.org
Phone:  (206) 667-5791
Fax:    (206) 667-1319



More information about the R-devel mailing list