From pburns at pburns.seanet.com  Tue Feb 12 18:48:55 2013
From: pburns at pburns.seanet.com (Patrick Burns)
Date: Tue, 12 Feb 2013 17:48:55 +0000
Subject: [Rd] get and exists are not vectorized
Message-ID: <511A8087.10800@pburns.seanet.com>

Here is the current behavior (in 2.15.2 and 3.0.0):

 > exists(c('notLikely', 'exists'))
[1] FALSE
 > exists(c('exists', 'notLikely'))
[1] TRUE
 > get(c('notLikely', 'exists'))
Error in get(c("notLikely", "exists")) : object 'notLikely' not found
 > get(c('exists', 'notLikely'))
function (x, where = -1, envir = if (missing(frame)) 
as.environment(where) else sys.frame(frame),
     frame, mode = "any", inherits = TRUE)
.Internal(exists(x, envir, mode, inherits))
<bytecode: 0x000000000f7f8830>
<environment: namespace:base>


Both 'exists' and 'get' silently ignore all but the
first element.

My view is that 'get' should do what it currently does
except it should warn about ignoring subsequent elements
if there are any.

I don't see a reason why 'exists' shouldn't be vectorized.

Am I missing something?

Pat

-- 
Patrick Burns
pburns at pburns.seanet.com
twitter: @burnsstat @portfolioprobe
http://www.portfolioprobe.com/blog
http://www.burns-stat.com
(home of:
  'Impatient R'
  'The R Inferno'
  'Tao Te Programming')



[Rd] get and exists are not vectorized
Patrick Burns