R函数以控制数字,但不是非数字结果



背景:

假设我具有产生数字结果(例如.002352,CC_2,8等)的高级函数,并且"Result is Unacceptable"等)。

问题:

我写了一个小的低级功能,以控制r。

中显示的小数点(称为decimal(see below)

我的decimal()函数如何才能在我的上层功能的结果为数字和时才能工作起来>

## decimal display controller:
 decimal <- function(x, k) format(round(x, k), nsmall = k, scientific = 
ifelse(x >= 1e+05 || x <= -1e+05 || x <= 1e-05 & x >= -1e-05, T, F) )   
## Example of use:
 x = .000276573      ## HERE x is a numeric result, what if x = "Not possible"
 decimal(x, 7)

您可以检查 typeof的x并在不处理的情况下返回它。

## decimal display controller:
decimal <- function(x, k){
    if(typeof(x) == "character"){
    return(x)
    }
    format(round(x, k), nsmall = k, scientific = 
        ifelse(x >= 1e+05 || x <= -1e+05 || x <= 1e-05 & x >= -1e-05, T, F) )
}
decimal("sam", 7)
#[1] "sam"
decimal(.3, 7)
#[1] "0.3000000"

还查看

?is.character
?is.numeric

相关内容

  • 没有找到相关文章

最新更新