📜  如何在 R 中修复:ExtractVars 中的无效模型公式

📅  最后修改于: 2022-05-13 01:55:46.643000             🧑  作者: Mango

如何在 R 中修复:ExtractVars 中的无效模型公式

在本文中,我们将讨论如何修复 R 编程语言中的“ExtractVars 中的模型公式无效”错误。

在 R 中可能面临的错误是:

Error in terms.formula(formula, data = data) : 
  invalid model formula in ExtractVars

R 编译器会产生这样的错误,我们尝试拟合决策树并在公式中错误地使用至少一个变量。

当 R 中可能发生此错误时

让我们首先创建一个数据框:

R
# Make a data frame
dataframe <- data.frame(marks=c(86, 74, 99, 92, 77, 88, 82, 89),
                 score=c(11, 17, 22, 24, 27, 12, 29, 32),
                 total=c(17, 27, 16, 18, 16, 15, 27, 4))
dataframe


R
# Importing the library
library(rpart)
  
# Make a data frame
dataframe <- data.frame(marks=c(86, 74, 99, 92, 77, 88, 82, 89),
                 score=c(11, 17, 22, 24, 27, 12, 29, 32),
                 total=c(17, 27, 16, 18, 16, 15, 27, 4))
  
# Try to fit decision tree model to data
model <- rpart(total ~ "marks" + "score", data = dataframe)


R
# Importing the library
library(rpart)
  
# Make a data frame
dataframe <- data.frame(marks=c(86, 74, 99, 92, 77, 88, 82, 89),
                 score=c(11, 17, 22, 24, 27, 12, 29, 32),
                 total=c(17, 27, 16, 18, 16, 15, 27, 4))
  
# Try to fit decision tree model to data
model <- rpart(total ~ marks + score, data = dataframe)
  
# Print the summary of the model
summary(model)


输出:

在这里,我们需要使用 rpart 包中的 rpart函数来拟合决策树模型并进一步评估它。

在 R 控制台中安装 rpart 包的语法:

假设我们想使用 rpart()函数在数据中拟合决策树模型,然后 R 编译器会产生“ExtractVars 中的模型公式无效”的错误,因为我们在预测变量的末尾给出了引号。

R

# Importing the library
library(rpart)
  
# Make a data frame
dataframe <- data.frame(marks=c(86, 74, 99, 92, 77, 88, 82, 89),
                 score=c(11, 17, 22, 24, 27, 12, 29, 32),
                 total=c(17, 27, 16, 18, 16, 15, 27, 4))
  
# Try to fit decision tree model to data
model <- rpart(total ~ "marks" + "score", data = dataframe)

输出:

输出

如何修复错误:

我们可以通过简单地从预测变量中删除引号并编写如下代码中给出的公式来轻松修复此错误:

R

# Importing the library
library(rpart)
  
# Make a data frame
dataframe <- data.frame(marks=c(86, 74, 99, 92, 77, 88, 82, 89),
                 score=c(11, 17, 22, 24, 27, 12, 29, 32),
                 total=c(17, 27, 16, 18, 16, 15, 27, 4))
  
# Try to fit decision tree model to data
model <- rpart(total ~ marks + score, data = dataframe)
  
# Print the summary of the model
summary(model)

输出: