【问题标题】:Why am I getting Error in `[.data.frame`(data, , model.list$variables) : undefined columns selected in R?为什么我在 `[.data.frame`(data, , model.list$variables) 中出现错误:在 R 中选择了未定义的列?
【发布时间】:2020-08-17 10:53:00
【问题描述】:

我在 R 中遇到未定义列错误。这是 tran_data 的描述

train_data <- train[c("DURATION","HOURLY_WAGE", "WAGE_RATE_OF_PAY_FROM_HOUR", "OCCUPATION_NUM","CASE_STATUS_1.0","AGENT_PRESENT_1.0")]
> str(train_data)
data.frame: 70000 obs. of  6 variables:
 $ DURATION                  : num  0.0674 0.0674 0.0449 0.0562 0.0674 ...
 $ HOURLY_WAGE               : num  0.378 0.298 0.387 0.333 0.34 ...
 $ WAGE_RATE_OF_PAY_FROM_HOUR: num  0.396 0.302 0.391 0.333 0.354 ...
 $ OCCUPATION_NUM            : num  0.3 0.3 0.3 0.3 0.3 0.3 0.1 0.1 0.1 0.3 ...
 $ CASE_STATUS_1.0           : Factor w/ 2 levels "0","1": 2 2 2 2 2 2 2 2 2 2 ...
 $ AGENT_PRESENT_1.0         : Factor w/ 2 levels "0","1": 2 1 1 2 2 1 2 2 2 1 ...

引发错误的代码

n <- neuralnet(train_data$AGENT_PRESENT_1.0~train_data$HOURLY_WAGE+
             train_data$DURATION+
             train_data$WAGE_RATE_OF_PAY_FROM_HOUR+
             train_data$CASE_STATUS_1.0+
             train_data$OCCUPATION_NUM,
             data=train_data,hidden = 1)

错误: [.data.frame(data, , model.list$variables) 中的错误: 选择了未定义的列

我尝试了 unlist 函数,但我得到了同样的错误。 有关如何解决此问题的任何帮助?

【问题讨论】:

  • 能否请您显示给出错误的代码。一种猜测是用于子集的列名与您拥有的不同

标签: r neural-network


【解决方案1】:

问题是 formula 需要不带引号的列名而不是值

library(neuralnet)
n <- neuralnet(`AGENT_PRESENT_1.0` ~ HOURLY_WAGE+
                  DURATION+
                  WAGE_RATE_OF_PAY_FROM_HOUR+
                  `CASE_STATUS_1.0`+
                   OCCUPATION_NUM,
                 data=train_data, hidden = 1)

使用可重现的示例

data(iris)

这行得通

n1 <- neuralnet(Species ~ Petal.Length + Petal.Width, iris, hidden = 1)

这会导致错误

n1 <- neuralnet(iris$Species ~ iris$Petal.Length + iris$Petal.Width, iris, hidden = 1)

[.data.frame(data, , model.list$variables) 中的错误: 选择了未定义的列

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-21
    • 2018-10-27
    • 1970-01-01
    相关资源
    最近更新 更多