Message-ID: <CA+hbrhUmU4Bsu7HV-rjepBkcvLzyqe3rB7nrtHBKyiZiNkLg8g@mail.gmail.com>
Date: 2022-07-02T03:30:47Z
From: Peter Langfelder
Subject: Subsetting a vector using an index with all missing values
Hi all,
I stumbled on subsetting behavior that seems counterintuitive and
perhaps is a bug. Here's a simple example:
> x = 1:10
> x[ rep(NA, 3)]
[1] NA NA NA NA NA NA NA NA NA NA
I would have expected 3 NAs (the length of the index), not 10 (all
values in x). Looked at the documentation for the subsetting operator
`[` but found nothing indicating that if the index contains all
missing data, the result is the entire vector.
I can work around the issue for a general 'index' using a somewhat
clunky but straightforward construct along the lines of
> index = rep(NA, 3)
> x[c(1, index)][-1]
[1] NA NA NA
but I'm wondering if the behaviour above is intended.
Thanks,
Peter