[Rd] dimnames incoherence?

Serguei Sokol @oko| @end|ng |rom |n@@-tou|ou@e@|r
Wed Feb 19 15:21:21 CET 2020


Hi,

I was bitten by a little incoherence in dimnames assignment or may be I 
missed some point.
Here is the case. If I assign row names via dimnames(a)[[1]], when 
nrow(a)=1 then an error is thrown. But if I do the same when nrow(a) > 1 
it's OK. Is one of this case works unexpectedly? Both? Neither?

a=as.matrix(1)
dimnames(a)[[1]]="a" # error: 'dimnames' must be a list

aa=as.matrix(1:2)
dimnames(aa)[[1]]=c("a", "b") # OK

In the second case, dimnames(aa) is not a list (like in the first case) 
but it works.
I would expect that the both work or neither.

Your thoughts are welcome.
Best,
Serguei.

PS the same apply for dimnames(a)[[2]]<-.

 > sessionInfo()
R version 3.6.1 (2019-07-05)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Mageia 7

Matrix products: default
BLAS/LAPACK: /home/opt/OpenBLAS/lib/libopenblas_sandybridge-r0.3.6.so

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

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

other attached packages:
[1] multbxxc_1.0.1            rmumps_5.2.1-11
[3] arrApply_2.1              RcppArmadillo_0.9.800.4.0
[5] Rcpp_1.0.3                slam_0.1-47
[7] nnls_1.4

loaded via a namespace (and not attached):
[1] compiler_3.6.1   tools_3.6.1      codetools_0.2-16



More information about the R-devel mailing list