Reputation: 1306
I've been using as.formula
for setting up a glm, and I can't figure out where the unexpected symbol is. Part of the problem is that the character vector I'm converting is so long. It's about 700 words with +
inserted in between in order to turn it into a formula. The error presents as follows:
Error in parse(text = x, keep.source = FALSE) :
<text>:2:10080: unexpected symbol
with the following snippet of the text:
2: c_1_E + Campaign_Search_Payroll_Generic_1_P + Campaign_Search_Performing_Core_Keywords + Campaign_Self_Employment_E + Campaign_Self_Employment_P + Campaign_Withholding + Campaign_Youtube + Sou
Things I know for sure:
_
).I'm not well versed enough in R to understand reading the documentation for as.formula
or the function call itself.
Any ideas?
Upvotes: 2
Views: 12649
Reputation: 7714
Here is what worked for me as a work around for this problem.
features = make.names(features)
right_side = paste0(features, collapse=" + ")
fml = as.formula(sprintf(" ~ %s", right_side))
Upvotes: 2
Reputation: 52647
The <text>:2:10080
is giving you the location of the error. 2nd line, 10080th character. Consider:
parse(text="1 + 1 + 2\n a - 3 b")
# Error in parse(text = "1 + 1 + 2\n a - 3 b") :
# <text>:2:8: unexpected symbol
Here, the error is with b
, which is an illegal use of a symbol, and you'll note it is the 8th character of the second line.
Most likely you're missing a +
, though no way of knowing without the data behind your error. Also, not to judge or anything, but that's a helluva lot variables to be sticking into a model. I hope you have lots of data points.
Upvotes: 7