楼主: freemutation
3128 4

[问答] 用sum函数对向量中的元素求和出现问题 [推广有奖]

  • 0关注
  • 0粉丝

小学生

64%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
36 点
帖子
3
精华
0
在线时间
13 小时
注册时间
2022-3-22
最后登录
2022-10-18

楼主
freemutation 发表于 2022-4-8 22:54:06 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
请教各位大神,我对该向量 e=c(1.123426,-0.123426,-6.0034123,5.0034123)中的所有数值元素求和,实际上为0,我随后用了sum函数运算,结果如下:
> sum(e)
[1] 4.163336e-17
结果却不为0,不知道问题出在哪里?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Sum 不知道

沙发
cheetahfly 在职认证  发表于 2022-4-9 22:28:04
浮点数据造成的,
dplyr::near(sum(e), 0)
# TRUE

藤椅
freemutation 发表于 2022-4-9 23:28:00
cheetahfly 发表于 2022-4-9 22:28
浮点数据造成的,
dplyr::near(sum(e), 0)
# TRUE
哦,原来这样,那原始数据应该怎样处理,用sum函数运算结果才为0?

板凳
llb_321 在职认证  发表于 2022-4-10 10:00:02
原始数据不用处理,因为再怎么处理还是浮点数,就会存在浮点数精度问题。只要处理结果就行,4.163336e-17几乎就是零,比如用round(sum(e),6)

报纸
freemutation 发表于 2022-4-10 15:51:29
llb_321 发表于 2022-4-10 10:00
原始数据不用处理,因为再怎么处理还是浮点数,就会存在浮点数精度问题。只要处理结果就行,4.163336e-17几 ...
嗯,明白了,谢谢各位!

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-21 22:41