[Rd] Subsetting row in single column matrix drops names in resulting vector

Rui Barradas ruipb@rr@d@@ @ending from @@po@pt
Wed Nov 21 17:54:07 CET 2018


Hello,

Use drop = FALSE.

a[1, , drop = FALSE]
#     col1
#row1    1


Hope this helps,

Rui Barradas

Às 16:51 de 21/11/2018, Dmitriy Selivanov escreveu:
> Hello here. I'm struggling to understand R's subsetting behavior in couple
> of edge cases - subsetting row in a single column matrix and subsetting
> column in a single row matrix. I've read R's docs several times and haven't
> found answer.
> 
> Consider following example:
> 
> a = matrix(1:2, nrow = 2, dimnames = list(c("row1", "row2"), c("col1")))
> a[1, ]
> # 1
> 
> It returns *unnamed* vector `1` where I would expect named vector. In fact
> it returns named vector when number of columns is > 1.
> Same issue applicable to single row matrix. Is it a bug? looks very
> counterintuitive.
> 
>



More information about the R-devel mailing list