我正在使用文本数据的决策树,并且我将n个最常用的术语存储在变量中,并尝试在rpart
函数的公式中使用此变量。但是,我得到的错误如下:
Error in model.frame.default(formula = class ~ x, data = dtm.df, na.action = function (x): variable lengths differ (found for 'x')
x = findFreqTerms(dtm, 0.5)
fit = rpart(class ~ x, data = dtm.train
是否可以自动填写公式而无需手动输入每个功能?
答案 0 :(得分:0)
解决方案的技术基础
您希望实现的目标是从最常用的术语(即字符串)创建公式。
广泛的想法是从变量中创建公式,而不是像我的评论中那样使用输入文本(即。直接写class~Variable1 + Variable2 + Variable3
)。
This link provide an example on how to use a string to create a formula,您还需要查看collapse
function in R documentation的paste()
参数。
<强>代码强>
# First find your most frequent terms
x <- findFreqTerms(dtm, 0.5)
# Then prepare the variables for the formula
sMeasureVar <- "class"
sGroupVars <- paste(x, collapse = " + ")
# Create the formula from the variables
fRpart <- as.formula(paste(sMeasureVar, sGroupVars, sep=" ~ "))
# Fit the tree associated
fit <- rpart(formula = fRpart , data = dtm.train)