r中的R:公式中的变量

时间:2017-03-03 13:20:56

标签: r rpart

我正在使用文本数据的决策树,并且我将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

是否可以自动填写公式而无需手动输入每个功能?

1 个答案:

答案 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 documentationpaste()参数。

<强>代码

# 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)