Math.factor中的错误(c(1L,3L,4L,:'round'对于因子

时间:2017-08-29 12:34:54

标签: r refactoring rounding

我总是得到这个错误:Math.factor中的错误(c(1L,3L,4L,:'round'对于以下代码的因素没有意义:

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.factor(as.numeric(as.character(C1)),但没有解决。 C1是1到5的数字数据。

1 个答案:

答案 0 :(得分:0)

对于四舍五入:你应该这样做:

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

或使用data.table框架:

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

之后,我们需要了解您的职能是什么,以了解错误的原因...... 希望它有所帮助。