Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一个R函数可以将4.25舍入到4.3而不是4.2?_R - Fatal编程技术网

是否有一个R函数可以将4.25舍入到4.3而不是4.2?

是否有一个R函数可以将4.25舍入到4.3而不是4.2?,r,R,有没有办法把R中的4.2改为4.25到4.3 x <- sprintf("%-8.1f",4.25) # rounds it to 4.2 x如果您愿意,您可以编写自己的“round”函数,如下所示 fround <- function(x, d = 0) { x.abs <- abs(x) s <- sign(x) u <- trunc(x.abs * 10^d) s * (u + ifelse(x.abs * 10^d -

有没有办法把R中的4.2改为4.25到4.3

x <- sprintf("%-8.1f",4.25) # rounds it to 4.2

x如果您愿意,您可以编写自己的“
round
”函数,如下所示

fround <- function(x, d = 0) {
  x.abs <- abs(x)
  s <- sign(x)
  u <- trunc(x.abs * 10^d)
  s * (u + ifelse(x.abs * 10^d - u >= 0.5, 1, 0)) / 10^d
}

这回答了你的问题吗@苏达:你已经得到了2张反对票(两张都不是我的),所以一些友好的建议:如果你想避免进一步的反对票,并根据你对下面答案的评论重新开始这个问题,您应该展示您在编码方面的努力,以证明您已经阅读了指定的副本,并努力使其适应您的需要。非常感谢Thomas。也许我应该把我的问题说对。函数功+4.25四舍五入为4.3,但不适用于-4.25,也需要四舍五入-4.3。此外,还应将+4.23四舍五入为4.2。但是当使用上面的fround函数时,它被四舍五入到+4.3。@Sudha您有这个代码和指定副本中的代码,所以为什么不表明您已经学会了对可能比您要求的更复杂的情况进行修改呢。如果且仅当您在认真修改这些方法后仍然需要帮助,那么您的问题应包括一个数据示例,其中包括正在考虑的其他案例以及您希望这些案例的答案。@Sudha请参阅我的更新谢谢Thomas。它起作用了。
> fround(4.25, 2)
[1] 4.25

> fround(4.25, 1)
[1] 4.3

> fround(4.25, 0)
[1] 4

> fround(-4.25, 2)
[1] -4.25

> fround(-4.25, 1)
[1] -4.3

> fround(-4.25, 0)
[1] -4