R 数学系数错误(c(1L,3L,4L,:‘;四舍五入’;对系数没有意义

R 数学系数错误(c(1L,3L,4L,:‘;四舍五入’;对系数没有意义,r,refactoring,rounding,R,Refactoring,Rounding,我总是会遇到这样的错误:数学错误。因子(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 <-tra

我总是会遇到这样的错误:数学错误。因子(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)

C1四舍五入:您应该:

df <- data.frame(a = factor(c(1.1,2.2,3.3)))
df$b = round(as.numeric(levels(df$a)[df$a]))
之后,我们需要查看您的函数中的内容,以了解出了什么问题。。。
希望能有所帮助。

我理解对了吗,第二个命令(
C2str(train_data)'data.frame):269 obs.共1174个变量:$V2:int 0 0 0 0 0 0 0 0…$V3:int 0 0 0 0 0 0 0 0 3 0…$V4:int 0 0 0 0 0 0 0 0 0…str(C1)int[1:269]4.2.2.2.4.3.2 C1只是列_数据的最后一列。
nb
方法是否允许因子?(如果在1174变量训练数据框架中仍有因子)我使用的代码:C14“nb”输出因子(即预测)当使用:prdJust以澄清问题时,运行train时会出现问题?或者您自己执行舍入吗?我在train之前使用了as.factor,因此我认为它会产生错误,但跟踪后,我发现舍入会导致错误,因为Bayes的输出也是因子。
require(data.table)
setDT(df)
df[, b:= round(as.numeric(levels(a)[a]))]