Incorrect paste() output (PR#10801)
On 2/19/2008 9:50 AM, asfe at di.fc.ul.pt wrote:
Hello, I am writing this message because of an incorrect output by paste(). Please try the following script to see if the evidence I collected is reproducible: x <- c(10152, 28177); y <- c(9576, 26625); d <- y - x; d; [1] -576 -1552 paste(d, collapse = ", "); [1] "-576, -1552" x <- x / 1000; y <- y / 1000; d <- y - x; d; [1] -0.576 -1.552 paste(d, collapse = ", "); [1] "-0.575999999999999, -1.552" The output of the last paste() is incorrect. I am using R version 2.6.1.
It looks correct to me. paste() doesn't use the same formatting rules as print() uses. print() rounded the first number to 7 digits, but paste() uses as.character(), which gives > as.character(d) [1] "-0.575999999999999" "-1.552" If you want output formatted in a particular way, you should use sprintf or one of the format* functions. Duncan Murdoch