小编Ber*_*ard的帖子

R中无法将小数四舍五入到小数点后两位

我尝试过不同的函数将小数四舍五入为两位数,例如format()formatC()signif()round()他们中没有一个人能够真正将所有小数四舍五入到小数点后两位。

例如,我的数据框 DF 有三列:Index、PDF 和 CDF:

   Index          PDF          CDF
1  -1.00 8.306360e-07 8.306360e-09
2  -0.99 8.332774e-07 1.663913e-08
3  -0.98 8.411712e-07 2.505085e-08
4  -0.97 8.542267e-07 3.359311e-08
5  -0.96 8.722951e-07 4.231606e-08
6  -0.95 8.951719e-07 5.126778e-08
7  -0.94 9.226012e-07 6.049380e-08
8  -0.93 9.542808e-07 7.003660e-08
9  -0.92 9.898679e-07 7.993528e-08
10 -0.91 1.028986e-06 9.022514e-08
...
...
...
Run Code Online (Sandbox Code Playgroud)

该列Index是一个向量,从 -1.00 到 10.00。任何连续元素之间的差异为 0.01。这意味着unique(diff(Index))应该只返回一个值,并且必须是 0.01。不过,unique(diff(Index))可以返回几个0.01。

我的目的是计算列中任意两个元素之间的差异CDF,并通过指示它们来选择这两个元素Index。例如,

a<-DF$CDF[DF$Index==(r+dr)];

b<-DF$CDF[DF$Index==(r-dr)];

res<-a-b; …
Run Code Online (Sandbox Code Playgroud)

floating-point r

0
推荐指数
1
解决办法
1330
查看次数

标签 统计

floating-point ×1

r ×1