knitr::opts_chunk$set(message = FALSE, warning = FALSE, echo = TRUE, dev="png", fig.retina = 2, fig.width = 10, fig.height = 6)
Tools to Perform 'Misinformation' Analysis on a Text Corpus
Tools to Perform 'Misinformation' Analysis on a Text Corpus
The following functions are implemented:
mi_analyze_document
: Run a one or more documents through a misinformation/bias sentiment analysismi_plot_document_summary
: Plot raw frequency count summary from a processed corpusmi_plot_individual_frequency
: Plot raw frequency count summary from a processed corpusmi_use_builtin
: Use a built-in 'sentiment' word/phrase listword_doc_to_txt
: Convert a Word document to a plaintext documentdevtools::install_github("hrbrmstr/misinfo")
options(width=120)
library(misinfo) library(hrbrthemes) library(tidyverse) # current verison packageVersion("misinfo")
mi_analyze_document( path = system.file("extdat", package="misinfo"), pattern = ".*txt$", bias_type = "explanatory", sentiment_list = mi_use_builtin("explanatory") ) -> corpus
glimpse(corpus)
corpus$frequency_summary
corpus$individual_frequency
mi_plot_individual_frequency(corpus)
mi_plot_individual_frequency(corpus, FALSE)
mi_plot_document_summary(corpus)
mi_plot_document_summary(corpus, FALSE)
map_df(c("uncertainty", "sourcing", "retractors", "explanatory"), ~{ # compute individual bias scores mi_analyze_document( path = system.file("extdat", package="misinfo"), pattern = ".*txt$", bias_type = .x, sentiment_list = mi_use_builtin(.x) ) -> corpus mutate(corpus$frequency_summary, bias = corpus$bias_type) }) -> biases mutate(biases, pct = ifelse(pct == 0, NA, pct)) %>% ggplot(aes(sprintf("Doc #%s", doc_num), bias, fill=pct)) + geom_tile(color="#2b2b2b", size=0.125) + scale_x_discrete(expand=c(0,0)) + scale_y_discrete(expand=c(0,0)) + viridis::scale_fill_viridis(direction=-1, na.value="white") + labs(x=NULL, y=NULL, title="Word List Usage Heatmap (normalized)") + theme_ipsum_rc(grid="") distinct(biases, doc_num, doc_id, total_words) %>% knitr::kable(format="markdown")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.