首页 > 解决方案 > 如何解决 R 神经网络函数中的错误 - 选择了未定义的列?

问题描述

我在运行神经网络功能时得到以下信息:

Error in `[.data.frame`(data, , model.list$variables) : 
  undefined columns selected

我使用的代码如下所示:

 #creating training and test dataset
it_trainann<-norm_it_1h[1:1748, ]
it_testann<-norm_it_1h[1749:2185, ]
sum(is.na(it_trainann))
[1] 0
sum(is.na(it_testann))
[1] 0
#prediction using ANN
library(neuralnet)
it_model<-neuralnet(Unit.Price~., data=it_trainann, hidden=3)

norm_it_1h 是由归一化数值变量组成的数据框。我既找不到 NA 值,也找不到非数字变量。回溯,我得到以下结果:

6: stop("undefined columns selected")
5: `[.data.frame`(data, , model.list$variables)
4: data[, model.list$variables]
3: as.matrix(data[, model.list$variables])
2: cbind(intercept = 1, as.matrix(data[, model.list$variables]))
1: neuralnet(Unit.Price ~ ., data = it_trainann, hidden = 3)

请帮我解决这个问题。

标签: rneural-network

解决方案


我在处理大数据时遇到了同样的错误。我在 StackOverflow 1 2中尝试了一些解决方案,但没有一个解决了我的问题。然后,我打印了我在模型上使用的所有变量名称。我注意到我的一些变量名有特殊的字符串。总之,更改似乎有问题的 col 名称修复了我的错误:

colnames(mydataframe)[which(names(mydataframe) == "A problematic name $½£ _")] <- "NotProblematicName"

推荐阅读