textmodel_wordscores implements Laver, Benoit and Garry's (2003)
"Wordscores" method for scaling texts on a single dimension, given a set of
anchoring or reference texts whose values are set through reference
scores. This scale can be fitted in the linear space (as per LBG 2003) or in
the logit space (as per Beauchamp 2012). Estimates of virgin or
unknown texts are obtained using the
predict() method to score
documents from a fitted
textmodel_wordscores(x, y, scale = c("linear", "logit"), smooth = 0)
the dfm on which the model will be trained
vector of training scores associated with each document
scale on which to score the words;
a smoothing parameter for word counts; defaults to zero for the to match the LBG (2003) method.
textmodel_wordscores() function and the associated
predict() method are designed
to function in the same manner as
coef() can also be used to extract the word coefficients from the
textmodel_wordscores object, and
summary() will print a
nice summary of the fitted object.
Laver, Michael, Kenneth R Benoit, and John Garry. 2003. "Extracting Policy Positions From Political Texts Using Words as Data." American Political Science Review 97(02): 311-31
Beauchamp, N. 2012. "Using Text to Scale Legislatures with Uninformative Voting." New York University Mimeo.
Martin, L W, and G Vanberg. 2007. "A Robust Transformation Procedure for Interpreting Political Text." Political Analysis 16(1): 93-100.
predict.textmodel_wordscores for methods of applying a
fitted textmodel_wordscores model object to predict quantities from
(ws <- textmodel_wordscores(data_dfm_lbgexample, c(seq(-1.5, 1.5, .75), NA)))#> Error in .setupMethodsTables(fdef): trying to get slot "group" from an object of a basic class ("NULL") with no slotssummary(ws)#> Error in summary(ws): object 'ws' not foundcoef(ws)#> Error in coef(ws): object 'ws' not foundpredict(ws)#> Error in predict(ws): object 'ws' not foundpredict(ws, rescaling = "lbg")#> Error in predict(ws, rescaling = "lbg"): object 'ws' not foundpredict(ws, se.fit = TRUE, interval = "confidence", rescaling = "mv")#> Error in predict(ws, se.fit = TRUE, interval = "confidence", rescaling = "mv"): object 'ws' not found