经常用数据分析,有时不同的文件的小数位数不一样,但是我们可以让它们的位数保持一致的,下面的介绍就是设置小数位数。
使用options函数
1
|
> options(digits)
|
默认为7位
1
|
> a=0.234333323 #9位> a[1] 0.2343333
|
下面开始设置下
1
|
> options(digits=3)> a=0.34434434 #8位> a[1] 0.344
|
看最大的位数
1
|
> options(digits=27)Error in options(digits = 27) : 'digits' 参数不对,可用0...22> options(digits=20)> options(digits=22)> options(digits=23)Error in options(digits = 23) : 'digits' 参数不对,可用0...22
|
从上面知道,最多是22位的,下面来实验下。
1
|
> a = 0.111222333444555666777888999 #27位> options(digits=22)> a[1] 0.11122233344455566
|
是的,它的最大位数是22位。
补充:R语言保留小数点后几位(末尾为0也保留)
当我们在进行一些学术论文的表格生成时,需要对我们的数据进行规范化处理。比如保留小数点后四位的操作。
大家用的最多的代码应该就是使用 round() 函数进行保留,具体做法我们以一个数字为例:12.345678。我们想保留小数点后四位可以进行如下操作。
round
运行下述代码,即可得到我们想要的结果:12.3456
1
|
round(12.345678, 4)
|
但如果我们想要保留这个数字之后的四位:12.345006,此时使用 round(12.345006, 4) 就会得到 12.345 这个结果,那如果我们想得到 12.3450 这种类型的结果,需要如何操作呢?
这时我们就可以使用: sprintf()
sprintf
具体代码如下所示,代码的输出结果就是:12.3450
1
|
sprintf( "%0.4f" , 12.345006)
|
上述代码中的 0.4 改为 0.2,就是保留小数点后两位,以此类推。
如果我们还想保留有效数字要怎么做呢?
保留有效数字
其实用 print() 函数即可选择保留几位有效数字,只需使用 digits = 4 即可。例如使用 print(12.3456, digits = 4) ,所得结果是:12.34。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/xxzhangx/article/details/52975311