Scales and centers the sentiment measures from a sento_measures object, column-per-column. By default, the measures are normalized. NAs are removed first.

# S3 method for sento_measures
scale(x, center = TRUE, scale = TRUE)

Arguments

x

a sento_measures object created using sento_measures.

center

a logical or a numeric vector, see documentation for the generic scale. Alternatively, one can provide a matrix of dimensions nobs(sento_measures) times 1 or nmeasures(sento_measures) with values to subtract from each individual observation.

scale

a logical or a numeric vector, see documentation for the generic scale. Alternatively, one can provide a matrix of dimensions nobs(sento_measures) times 1 or nmeasures(sento_measures) with values to divide each individual observation by.

Value

A modified sento_measures object, with the measures replaced by the scaled measures as well as updated statistics.

Details

If one of the arguments center or scale is a matrix, this operation will be applied first, and eventual other centering or scaling is computed on that data.

Author

Samuel Borms

Examples

data("usnews", package = "sentometrics") data("list_lexicons", package = "sentometrics") data("list_valence_shifters", package = "sentometrics") set.seed(505) # construct a sento_measures object to start with corpus <- sento_corpus(corpusdf = usnews) corpusSample <- quanteda::corpus_sample(corpus, size = 500) l <- sento_lexicons(list_lexicons[c("LM_en", "HENRY_en")]) ctr <- ctr_agg(howTime = c("equal_weight", "linear"), by = "year", lag = 3) sento_measures <- sento_measures(corpusSample, l, ctr) # scale sentiment measures to zero mean and unit standard deviation sc1 <- scale(sento_measures) n <- nobs(sento_measures) m <- nmeasures(sento_measures) # subtract a matrix sc2 <- scale(sento_measures, center = matrix(runif(n * m), n, m), scale = FALSE) # divide every row observation based on a one-column matrix, then center sc3 <- scale(sento_measures, center = TRUE, scale = matrix(runif(n)))