From hpages at fhcrc.org  Wed Apr 24 01:48:42 2013
From: hpages at fhcrc.org (=?windows-1252?Q?Herv=E9_Pag=E8s?=)
Date: Tue, 23 Apr 2013 16:48:42 -0700
Subject: [Rd] is.vector(as.vector(x, m), m) not always TRUE
Message-ID: <51771DDA.3040403@fhcrc.org>

In the man page for as.vector() (same as man page for vector()):

      Writers of methods for ?as.vector? need to take care to follow the
      conventions of the default method.  In particular

         ? Argument ?mode? can be ?"any"?, any of the atomic modes,
           ?"list"?, ?"expression"?, ?"symbol"?, ?"pairlist"? or one of
           the aliases ?"double"? and ?"name"?.

         ? The return value should be of the appropriate mode.  For
           ?mode = "any"? this means an atomic vector or list.

         ? Attributes should be treated appropriately: in particular
           when the result is an atomic vector there should be no
           attributes, not even names.

         ? ?is.vector(as.vector(x, m), m)? should be true for any mode
           ?m?, including the default ?"any"?.

But:

   > is.vector(as.vector("a", "name"), "name")
   [1] FALSE

Mmmh, the default method itself doesn't seem to follow its own
conventions :-/

Cheers,
H.

 > sessionInfo()
R version 3.0.0 (2013-04-03)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C
  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8
  [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8
  [7] LC_PAPER=C                 LC_NAME=C
  [9] LC_ADDRESS=C               LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

loaded via a namespace (and not attached):
[1] tools_3.0.0

-- 
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



[Rd] is.vector(as.vector(x, m), m) not always TRUE
=?windows-1252?Q?Herv=E9_Pag=E8s?=