代码之家  ›  专栏  ›  技术社区  ›  M Ahmed

数学错误。因子(c(1L,3L,4L,:四舍五入对因子没有意义

  •  0
  • M Ahmed  · 技术社区  · 8 年前

    C1<-train_data[,m]
      C2<-as.factor(C1)
      class_values<-C2
    
      train_data <- train_data[,-m]
      control <- trainControl(method="repeatedcv", number=5, repeats=1)
      train_model <-train(train_data,class_values,method='nb',trControl=control)
    

    我试着把:C2=as。因子(作为数值(作为字符(C1)),但未求解。 C1是从1到5的数字数据。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Emmanuel-Lin    8 年前

    对于舍入:您应该:

    df <- data.frame(a = factor(c(1.1,2.2,3.3)))
    df$b = round(as.numeric(levels(df$a)[df$a]))
    

    或使用数据。表格框架:

    require(data.table)
    setDT(df)
    df[, b:= round(as.numeric(levels(a)[a]))]
    

    之后,我们需要看看你的函数中有什么,才能知道出了什么问题。。。

    推荐文章