R语言中有哪些取整运算?

Python019

R语言中有哪些取整运算?,第1张

R语言中取整运算主要包括以下五种:floor():向下取整;ceiling(): 向上取整;round(): 四舍五入取整;turnc(): 向0取整;signif(): 保留给定位数的精度。

floor返回对应数字的'地板'值,即不大于该数字的最大值;

ceiling返回对应数字的'天花板'值,就是不小于该数字的最小整数;

round是R里的'四舍五入'函数,具体的规则采用banker's rounding,即四舍六入五留双规则(wiki)。round的原型是round(x, digits = 0), digits设定小数点位置,默认为零即小数点后零位(取整)。

trun的特性是'向零截取', 也就是说对于一个数字a,它将数轴分成两侧,trunc(a)将返回数轴上包含数字0的那一侧离a最近的那个整数。

signif是保留有效数字的函数。常用于科学计数。

我也遇到过很多次这个问题,尤其是再用到tune.svm的时候,这是由这个函数内部决定的。我的建议有两点:

减少tuning parameter的数量或者说范围

用Python sklearn去tune 如果非得需要用R 就python tune的差不多带回到R里直接用

希望对你有帮助!

LagrangePolynomial <- function(x,y) {

  len = length(x)

  if(len != length(y))

    stop("length not equal!")

   

  if(len < 2)

    stop("dim size must more than 1")

   

  #pretreat data abd alloc memery

  xx <- paste("(","a -",x,")")

  m <- c(rep(0,len))

   

  #combin express

  for(i in 1:len) {

    td <- 1

    tm <- "1"

    for(j in 1:len) {

      if(i != j) {

        td <- td*(x[i] - x[j])

        tm <- paste(tm,"*",xx[j])

      }

    }

    tm <- paste(tm,"/",td)

    m[i]<-tm #m[i] <- parse(text=tm)

  }

   

  #combin the exrpession

  m <- paste(m,"*",y)

  r <- paste(m,collapse="+")

   

  #combin the function

  fbody <- paste("{ return(",r,")}")

  f <- function(a) {}

   

  #fill the function's body

  body(f) <- parse(text=fbody)

   

  return(f)

}

这是拉格朗日多项式插值算法  你参考下吧