Learn R Programming

sentometrics (version 0.5.6)

measures_merge: Merge sentiment measures

Description

Merges sentiment measures by combining across provided lexicons, features, and time weighting schemes dimensions. The combination occurs by taking the mean of the relevant measures.

Usage

measures_merge(sentomeasures, features = NULL, lexicons = NULL,
  time = NULL, do.keep = FALSE)

Arguments

sentomeasures

a sentomeasures object created using sento_measures. This is necessary to check whether the other input arguments make sense.

features

a list with unique features to merge at given name, e.g., list(feat12 = c("feat1", "feat2")). See sentomeasures$features for the exact names to use. Use NULL (default) to apply no merging across this dimension.

lexicons

a list with unique lexicons to merge at given name, e.g., list(lex12 = c("lex1", "lex2")). See sentomeasures$lexicons for the exact names to use. Use NULL (default) to apply no merging across this dimension.

time

a list with unique time weighting schemes to merge at given name, e.g., list(tw12 = c("tw1", "tw2")). See sentomeasures$time for the exact names to use. Use NULL (default) to apply no merging across this dimension.

do.keep

a logical indicating if the original sentiment measures should be kept (i.e., the merged sentiment measures will be added to the current sentiment measures as additional indices if do.keep = TRUE).

Value

A modified sentomeasures object, with only the sentiment measures required, including updated information and statistics, but the original sentiment scores data.table untouched.

Examples

Run this code
# NOT RUN {
data("usnews", package = "sentometrics")
data("list_lexicons", package = "sentometrics")
data("list_valence_shifters", package = "sentometrics")

# construct a sentomeasures 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")], list_valence_shifters[["en"]])
ctr <- ctr_agg(howTime = c("equal_weight", "linear"), by = "year", lag = 3)
sentomeasures <- sento_measures(corpusSample, l, ctr)

# merging across specified components
sentomeasuresMerged <- measures_merge(sentomeasures,
                                      time = list(W = c("equal_weight", "linear")),
                                      features = list(journals = c("wsj", "wapo")),
                                      do.keep = TRUE)

# merging in full
dims <- get_dimensions(sentomeasures)
sentomeasuresFull <- measures_merge(sentomeasures,
                                    lexicons = list(L = dims[["lexicons"]]),
                                    time = list(T = dims[["time"]]),
                                    features = list(F = dims[["features"]]))

# }
# NOT RUN {
# this merging will not work, but produces an informative error message
measures_merge(sentomeasures,
               time = list(W = c("equal_weight", "almon1")),
               lexicons = list(LEX = c("LM_en")),
               features = list(journals = c("notInHere", "wapo")))
# }

Run the code above in your browser using DataLab