it's documented as "unexpected" ?diag Note
Using diag(x) can have unexpected effects if x is a vector that could be of length one. Use diag(x, nrow = length(x)) for consistent behaviour. And the result follows from this part, else if (length(x) == 1L && nargs() == 1L) { n <- as.integer(x) x <- 1 } baptiste 2009/9/4 Markku Karhunen <markku.karhu...@helsinki.fi> > Hi, > > Does anybody know, what is going on here? > > diag(sqrt(1)) >> > [,1] > [1,] 1 > >> diag(sqrt(0.3333)) >> > <0 x 0 matrix> > >> sqrt(1) >> > [1] 1 > >> sqrt(0.3333) >> > [1] 0.5773214 > > BR, Markku Karhunen > researcher > University of Helsinki > > ______________________________________________ > R-help@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide > http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. > -- _____________________________ Baptiste AuguiƩ School of Physics University of Exeter Stocker Road, Exeter, Devon, EX4 4QL, UK http://newton.ex.ac.uk/research/emag ______________________________ [[alternative HTML version deleted]]
______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.