tapply中的错误(var,y,mean,na.rm=TRUE):参数必须具有相同的长度

tapply中的错误(var,y,mean,na.rm=TRUE):参数必须具有相同的长度,r,R,为什么我会犯这个错误?塔普利是什么意思?我甚至没用过那种方法 出现错误:Naiver\u model该错误表示naiveBayes()输入(X\u train和Y\u train)的长度不同,需要相同(即,X数据的每一行对应的Y值)。从 该错误表示naiveBayes()输入(X\u列和Y\u列)的长度不同,需要相同(即,X数据的每一行对应的Y值)。从 首先,指出导致此错误的行很重要。其次,如果您提供一个获得此结果的工作示例数据集,这将很有帮助。tapply是一个基本的R函数,可能在包函数(如n

为什么我会犯这个错误?塔普利是什么意思?我甚至没用过那种方法


出现错误:Naiver\u model该错误表示
naiveBayes()
输入(
X\u train
Y\u train
)的长度不同,需要相同(即,X数据的每一行对应的Y值)。从


该错误表示
naiveBayes()
输入(
X\u列
Y\u列
)的长度不同,需要相同(即,X数据的每一行对应的Y值)。从


首先,指出导致此错误的行很重要。其次,如果您提供一个获得此结果的工作示例数据集,这将很有帮助。
tapply
是一个基本的R函数,可能在包函数(如
naiveBayes()
)的后台使用。检查文档并确保输入的长度相同。首先,指出导致此错误的行很重要。其次,如果您提供一个获得此结果的工作示例数据集,这将很有帮助。
tapply
是一个基本的R函数,可能在包函数(如
naiveBayes()
)的后台使用。检查文档并确保输入的长度相同。
Error in tapply(var, y, mean, na.rm = TRUE) : 
  arguments must have same length
  library(e1071)
  #Naive Bayes
  #Learn Time
  start.time <- Sys.time()
  naive_model <-naiveBayes(X_train,Y_train)
  end.time <- Sys.time()
  time.taken <- end.time - start.time
  naivebayes_Learnruntime[i]<- time.taken

  #Prediction Time
  start.time <- Sys.time()
  pred = predict(naive_model,X_test)
  end.time <- Sys.time()
  time.taken <- end.time - start.time
  naivebayes_Predictruntime [i]<- time.taken
balance_data = read.table(file.choose(), sep=",")
attach(balance_data)
x <- balance_data[, c(2,3,4,5)]
y <- balance_data[,1]
X_train <-head(x,500)
Y_train <- head(y,100)
X_test <-tail(x,122)
str(X_train)
str(X_test)
str(Y_train)


decisionTree_Learnruntime = c()
svm_Learnruntime = c()
naivebayes_Learnruntime = c()
knn_Learnruntime = c()

decisionTree_Predictruntime = c()
svm_Predictruntime = c()
naivebayes_Predictruntime =c()
knn_Predictruntime = c()


for (i in 1:20){
  library(e1071)
  library(caret)
  #SVM Model
  start.time <- Sys.time()
  svm_model <- svm(X_train,Y_train)
  end.time <- Sys.time()
  time.taken <- end.time - start.time
  svm_Learnruntime[i]<- time.taken

  #Prediction Time
  start.time <- Sys.time()
  pred <- predict(svm_model,X_test)
  end.time <- Sys.time()
  time.taken <- end.time - start.time
  svm_Predictruntime[i]<- time.taken

  library(rpart)
  #Decision Tree
  #Learn Time
  start.time <- Sys.time()
  tree_model <- rpart(X_train,Y_train)
  end.time <- Sys.time()
  time.taken <- end.time - start.time
  decisionTree_Learnruntime[i]<- time.taken

  #Prediction Time 
  start.time <- Sys.time()
  pred = predict(tree_model,X_test)
  end.time <- Sys.time()
  time.taken <- end.time - start.time
  decisionTree_Predictruntime[i] <- time.taken


  library(e1071)
  #Naive Bayes
  #Learn Time
  start.time <- Sys.time()
  naive_model <-naiveBayes(X_train,Y_train)
  end.time <- Sys.time()
  time.taken <- end.time - start.time
  naivebayes_Learnruntime[i]<- time.taken

  #Prediction Time
  start.time <- Sys.time()
  pred = predict(naive_model,X_test)
  end.time <- Sys.time()
  time.taken <- end.time - start.time
  naivebayes_Predictruntime [i]<- time.taken



}

svm_Learnruntime
svm_Predictruntime
decisionTree_Learnruntime
decisionTree_Predictruntime
naivebayes_Learnruntime
naivebayes_Predictruntime
X_train <- head(x,500)
Y_train <- head(y,100)
trainset <- 1:500  # to be similar to your 'head(x,500)'

# create train/test 
X_train <- balance_data[trainset, -1]  
Y_train <- balance_data[trainset, 1]   
X_test <- balance_data[-trainset, -1]   

# model and predict
naive_model <- naiveBayes(X_train, Y_train)
pred <- predict(naive_model, X_test)