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 <[email protected]>
> 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
>
> ______________________________________________
> [email protected] 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]]
______________________________________________
[email protected] 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.