Apply Weight to Matrix
weigh(.Object, ...) # S4 method for TermDocumentMatrix weigh(.Object, method = "tfidf") # S4 method for DocumentTermMatrix weigh(.Object, method = "tfidf") # S4 method for count weigh(.Object, with) # S4 method for count_bundle weigh(.Object, with, progress = TRUE)
.Object | A |
---|---|
... | further parameters |
method | The kind of weight to apply. |
with | A |
progress | Logical, whether to show a progress bar. |
if (FALSE) { library(data.table) if (require("zoo") && require("devtools")){ # Source in function 'get_sentiws' from a GitHub gist gist_url <- file.path( "gist.githubusercontent.com", "PolMine", "70eeb095328070c18bd00ee087272adf", "raw", "c2eee2f48b11e6d893c19089b444f25b452d2adb", "sentiws.R" ) devtools::source_url(sprintf("https://%s", gist_url)) SentiWS <- get_sentiws() # Do the statistical word context analysis use("GermaParl") options("polmineR.left" = 10L) options("polmineR.right" = 10L) df <- context("GERMAPARL", query = "Islam", p_attribute = c("word", "pos")) %>% partition_bundle(node = FALSE) %>% set_names(s_attributes(., s_attribute = "date")) %>% weigh(with = SentiWS) %>% summary() # Aggregate by year df[["year"]] <- as.Date(df[["name"]]) %>% format("%Y-01-01") df_year <- aggregate(df[,c("size", "positive_n", "negative_n")], list(df[["year"]]), sum) colnames(df_year)[1] <- "year" # Use shares instead of absolute counts df_year$negative_share <- df_year$negative_n / df_year$size df_year$positive_share <- df_year$positive_n / df_year$size # Turn it into zoo object, and plot it Z <- zoo( x = df_year[, c("positive_share", "negative_share")], order.by = as.Date(df_year[,"year"]) ) plot( Z, ylab = "polarity", xlab = "year", main = "Word context of 'Islam': Share of positive/negative vocabulary", cex = 0.8, cex.main = 0.8 ) # Note that we can uses the kwic-method to check for the validity of our findings words_positive <- SentiWS[weight > 0][["word"]] words_negative <- SentiWS[weight < 0][["word"]] kwic("GERMAPARL", query = "Islam", positivelist = c(words_positive, words_negative)) %>% highlight(lightgreen = words_positive, orange = words_negative) %>% tooltips(setNames(SentiWS[["word"]], SentiWS[["weight"]])) } }