R代码。写一个楼层功能

时间:2014-10-10 20:03:36

标签: r function

我想在R中写一个floor函数,它返回一个浮点数到它最接近的整数。所以我尝试了以下功能。似乎它可以工作,如果我为x分配一个值并在函数内部运行代码,但是当我尝试将所有内容放入函数并稍后调用函数名时它会失败。

有谁知道如何修复它? 谢谢!

> my_floor <- function(x) {
    x <- x-0.5
    as.integer(x)
    return (x)
 }

> y <- 3.1052255
> my_floor(y)  
[1] 2.605225

1 个答案:

答案 0 :(得分:0)

不确定你要做什么,但是如果你只是想将输入变换为最接近的整数为零(即你的问题是 floored ),那么这样做的一种方法就是是:

my_floor <- function(x) { x <- trunc(x) return (x) }

这只是使用R trunc丢弃输入的非整数部分:您可以直接调用它,trunc(y)仍会提供所需的结果。如果您希望“按原样”使用上面的功能,那么:

my_floor <- function(x) { x <- x-0.5 x <- as.integer(x) #Store the result of this second step by reassigning x return (x) }