[R] Subsetting a vector using an index with all missing values
Peter Langfelder
peter@|@ng|e|der @end|ng |rom gm@||@com
Sat Jul 2 05:30:47 CEST 2022
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
More information about the R-help
mailing list