有人可以帮我理解为什么-1 + 1 <> 0?
有人可以帮助我理解为什么我在内置函数consum(),我的函数ct()和Excel之间得到三个不同的值,当它们都在做同样的事情时?
现在,我很确定答案是一个"回合"问题,但我无法弄清楚这个问题的部分来自何处.我的意思是,这一切"看起来非常简单.
在R中,当我构建序列'a'然后运行cumsum(a)时,我没有像我期望的那样得到0的结果.如果我尝试使用函数计算相同的值,我也会得到不同的答案.最后,如果我尝试使用Excel计算相同的值,我会得到第三个答案.
这是我使用cumsum()得到的:
> a<- seq(-1, 1, by=.1)
> a
[1] -1.0 -0.9 -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.0 0.1 0.2 0.3
[15] 0.4 0.5 0.6 0.7 0.8 0.9 1.0
> cumsum(a)
[1] -1.000000e+00 -1.900000e+00 -2.700000e+00 -3.400000e+00 -4.000000e+00
[6] -4.500000e+00 -4.900000e+00 -5.200000e+00 -5.400000e+00 -5.500000e+00
[11] -5.500000e+00 -5.400000e+00 -5.200000e+00 -4.900000e+00 -4.500000e+00
[16] -4.000000e+00 -3.400000e+00 -2.700000e+00 -1.900000e+00 -1.000000e+00
[21] 1.110223e-15
Run Code Online (Sandbox Code Playgroud)
我写了一个快速函数来测试这个并期望得到相同的答案(或0),但我得到一个完全不同的答案.这是我的功能及其结果:
ct<- function(x){
result = 0
for(i in 1:length(x)){
cat(i, ": Result = …Run Code Online (Sandbox Code Playgroud)