你在R中可能遇到的一个错误是。
Error in terms.formula(formula, data = data) :
invalid model formula in ExtractVars
当你试图在R中拟合一 棵决策树,并在公式中错误地指定一个或多个变量时,就会出现这个错误。
本教程确切地分享了如何在实践中修复这个错误。
如何重现该错误
假设我们在R中创建了以下数据框。
#create data frame
df <- data.frame(rating=c(88, 94, 99, 90, 76, 78, 81, 88),
points=c(14, 17, 22, 24, 25, 22, 29, 31),
assists=c(7, 7, 6, 12, 10, 11, 17, 2),
rebounds=c(7, 8, 8, 12, 9, 5, 11, 15))
#view data frame
df
rating points assists rebounds
1 88 14 7 7
2 94 17 7 8
3 99 22 6 8
4 90 24 12 12
5 76 25 10 9
6 78 22 11 5
7 81 29 17 11
8 88 31 2 15
现在假设我们试图使用**rpart()**函数来拟合数据的决策树模型。
library(rpart)
#attempt to fit decision tree model to data
model <- rpart(rating ~ "points" + "assists" + "rebounds", data = df)
Error in terms.formula(formula, data = data) :
invalid model formula in ExtractVars
我们收到一个错误,因为我们在预测变量名称周围使用了引号,这在公式中是不允许的。
如何修复该错误
解决这个错误的方法是简单地去掉变量名称周围的引号,然后按以下方式写公式。
library(rpart)
#fit decision tree model
model <- rpart(rating ~ points + assists + rebounds, data = df)
#view summary of model
summary(model)
Call:
rpart(formula = rating ~ points + assists + rebounds, data = df)
n= 8
CP nsplit rel error xerror xstd
1 0.01 0 1 0 0
Node number 1: 8 observations
mean=86.75, MSE=55.1875
我们能够成功地拟合模型而没有任何错误,因为我们删除了公式中预测变量的引号。
其他资源
下面的教程解释了如何修复R中的其他常见错误。
如何修复:条件的长度大于1,并且只使用第一个元素
如何修复:二进制运算符的非数字参数
如何修复:dim(X)必须有一个正的长度
如何修复:选择未使用参数的错误
The postHow to Fix in R: invalid model formula in ExtractVarsappeared first onStatology.