【发布时间】:2017-04-30 13:55:36
【问题描述】:
我得到了错误:
'newdata' had 10000 rows but variables found have 40000 rows
train_frame=data$trainData[,-c(65,81)]
for (i in 1:98){
names(train_frame)[i]<-i
}
lda(data$trainLabel~ train_frame,prior=rep(1,10)/10,method='moment')->lda_equal_prior prediction_frame=data.frame(data$testData[,-c(65,81)])
for (i in 1:98){
names(prediction_frame)[i]<-paste('train_frame',i,sep='')
}
predict(lda_equal_prior,data.frame(prediction_frame))->prediction_lda_equal_prior
【问题讨论】:
-
这可能对错误没有帮助,但不需要
for循环;试试names(train_frame) <- 1:98或names(train_frame) <- seq_along(train_frame) -
我试过了,但确实有效。names(train_frame)
-
它确实有效???
-
提供一个可重现的例子。
-
train_frame=data$trainData[,-c(65,81)]。为什么要按列索引向量data$trainData?data的结构是什么?是列表还是数据框?