全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 R语言论坛
54438 11
2008-10-02

比如产生随机连续的数据时,常常带很长的小数位,我想限定只保留两位小数,怎么实现呢?

二维码

扫码加我 拉你入群

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

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

全部回复
2008-10-5 04:54:00
You can use

options(digits=3)

Type it before the generation of the data, and when you want to change back to the default setting, just type options(digits=7).

[此贴子已经被作者于2008-10-5 4:54:27编辑过]

二维码

扫码加我 拉你入群

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

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

2008-10-10 05:48:00
thank you very much
二维码

扫码加我 拉你入群

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

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

2011-4-2 21:59:24
philzang 发表于 2008-10-5 04:54
You can use options(digits=3)Type it before the generation of the data, and when you want to change back to the default setting, just type options(digits=7).

[此贴子已经被作者于2008-10-5 4:54:27编辑过]

options(digits=3)并不以保证所有变量的数值均保留相同的小数位数,最精确的控制方法是使用round(a,i)。

感兴趣者可以试试以下命令。
options(digits=6)
a=rnorm(1000,59,3)
b=rnorm(1000,152,4)
a
b
c=round(a,3)
d=round(b,3)
c
d
二维码

扫码加我 拉你入群

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

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

2011-4-4 09:13:40
谢谢,牛人!
二维码

扫码加我 拉你入群

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

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

2014-2-16 12:10:27
在使用round时有一个bug
如:a=dbinom(0:n,n,0.2)
计算得: a=0.16777216 0.33554432 0.29360128 0.14680064 0.04587520 0.00917504
0.00114688 0.00008192 0.00000256

y=round(a, 3)
可得: y= 0.168 0.336 0.294 0.147 0.046 0.009 0.001 0.000 0.000
但是计算sum(y)=1.001

但采用options则不会出现该问题

round()得到天花板数据
同样的还有floor()得到地板数据

二维码

扫码加我 拉你入群

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

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

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群