[英]R Doubles and System-Added Decimals
我有以下从电子表格中的数据导入的双向量。 数据代表会计价值。
> amts
[1] 0.00 2616.79 3908.20 0.00 0.00 0.00 50.25 600.54 2104.29 0.00 800.13 837.08
[13] 588.85 550.57 435.07 0.00 4000.00 5000.00 10000.00 120000.00 266000.00 0.00 16089.71 0.00
[25] 11202.35 21594.32 10238.44 0.00 5500.10 0.01 0.00 296.67 313.79 -430.42 -42.02 -11.99
[37] -0.20 0.00 0.00 0.00 0.00 0.00 -3519.57 -3323.94 -6815.91 -4540.39 -35268.87 -29260.34
[49] -26896.01 0.00 -22384.00 -49929.73 -27860.94 -4055.22 -21776.87 -8671.80 0.00 1366.38 -85548.01 -208958.93
[61] 55201.62
> typeof(amts)
[1] "double"
当我 go 将它们加在一起时,该值返回的小数位数超出了所需的位数。 就像 R 正在添加不存在的小数。
> sum(amts)
[1] 1.327294e-11
奇怪的是,当我将向量分块求和时,行为并不相同。
> (x <- sum(amts[1:30]))
[1] 482116.7
> (y <- sum(amts[31:61]))
[1] -482116.7
> x + y
[1] 0
我很想了解这种行为以及 R 在 sum() function 期间如何/为什么在应用 ZC1C425268E68385D1AB5074C17A94F 之前似乎不存在的小数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.