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