On Mon, Sep 17, 2018 at 5:22 PM, Gábor Csárdi <csardi.ga...@gmail.com> wrote:
> I would say it is a mis-feature. If the 'x' argument of diag() is a > vector of length 1, then it creates an identity matrix of that size, > instead of creating a 1x1 matrix with the given value: > > ❯ diag(3) > [,1] [,2] [,3] > [1,] 1 0 0 > [2,] 0 1 0 > [3,] 0 0 1 > > Of course this makes it cumbersome to use diag() in a package, when > you are not sure if the input vector is longer than 1. This seems to > be a good workaround: > > ❯ diag(-1, nrow = 1) > [,1] > [1,] -1 > > Or, in general if you have vector v: > > ❯ v <- -1 > ❯ diag(v, nrow = length(v)) > [,1] > [1,] -1 > > > Anyone else getting deja-vu with the `sample` function? > sample(5:3) [1] 3 5 4 ok... > sample(5:4) [1] 4 5 fine... > sample(5:5) [1] 3 1 5 2 4 uh oh. Documented, of course. B [[alternative HTML version deleted]] ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel