Learn R Programming

VOSONDash

VOSONDash is an interactive R Shiny web application for the visualisation and analysis of social network data. The app has a dashboard layout with sections for visualising and manipulating network graphs, performing text analysis, displaying network metrics and the collection of network data using the vosonSML R package.

Installation

VOSONDash is an R package and must be installed before the app can be run.

Install the latest release on CRAN (v0.5.7):

install.packages("VOSONDash")

Install the latest release via GitHub (v0.5.7):

install.packages("https://github.com/vosonlab/VOSONDash/releases/download/v0.5.7/VOSONDash-0.5.7.tar.gz", 
  repo = NULL, type = "source")

Install the latest development version (v0.5.7):

# library(devtools)
devtools::install_github("vosonlab/VOSONDash")

Once the VOSON Dashboard package is installed and loaded the Shiny web application can be run from the RStudio console using the runVOSONDash() function.

library(VOSONDash)
runVOSONDash()

Running the app for the first time

When run the VOSONDash app will check that all of the R packages that are required to make it work are installed. It is likely that some packages will be missing and the app will print a message indicating the missing packages and a command that can be used to install them.

For example:

> runVOSONDash()
=================================================
VOSONDash v0.5.7
...
Checking packages...

Error: Required packages missing.
- shinyjs
- visNetwork

Please install required packages before using VOSONDash:
install.packages(c("shinyjs", "visNetwork"))

The missing packages can be installed using the above install.packages command.

After installing required packages and running again the VOSONDash Shiny app will open up in the default web browser.

VOSON Dashboard

VOSONDash features an intuitive web interface with a section for 'Analysis' of graph data loaded from igraph objects and a section for the 'Collection' of social media data using vosonSML.

Analysis

Network and text analysis of graph data.

  • Network Graphs: Visualise and modify networks
  • Network Metrics: Calculate node and network level metrics
  • Text Analysis: Word frequency, word clouds and sentiment
  • Assortativity: Calculate homogeneity and homophily indexes (if VOSON categorical node attributes present)

Figure 1. Environmental activist site hyperlink network loaded from a graphml file and plotted by the visNetwork package.

Collection and Network Creation

Graphical interfaces for collecting network data from social media API's.

  • Collect: Twitter, youtube and reddit network data
  • Create: different types of networks from the data such as activity, actor, twomode and semantic networks

Figure 2. Collection of recent #auspol tweets and generation of an actor network with the vosonSML package.

Figure 3. Create an actor network and add tweet text to the network.

API Keys and Tokens

  • API Keys: Enter, save, load API keys and create access tokens

Figure 4. Twitter API token creation and selection.

Special thanks

This application would not be possible without key packages by other authors in the R community, particularly the shiny, shinydashboard, DT and shinyjs packages. Graph visualisations created with igraph and visNetwork, and text analysis with support from tm, SnowballC, wordcloud and syuzhet packages.

Copy Link

Version

Install

install.packages('VOSONDash')

Monthly Downloads

222

Version

0.5.7

License

GPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Bryan Gertzel

Last Published

July 27th, 2020

Functions in VOSONDash (0.5.7)

collectTwitterData

Collect twitter data
applyComponentFilter

Filter out graph vertices not in component size range
applyCategoricalFilters

Filter out graph vertices not in selected category
collectRedditData

Collect reddit data
corpusFromGraph

Create a text corpus from graph text attribute data
collectYoutubeData

Collect youtube data
VOSONDash-package

Interface for collection and interactive analysis of social networks
addAdditionalMeasures

Add additional measures to graph as vertex attributes
applyGraphFilters

Filter out graph vertices and edges from graph object that are isolates, multi edge or edge loops
applyPruneFilter

Prune vertices from graph by vertex id
createTwitterWebToken

Create a auth token with twitter app consumer keys
createTwitterDevToken

Create an auth token with twitter app dev keys
hasVosonTextData

Check if graph object has text attributes
createTokenId

Create a twitter auth token id
createYoutubeNetwork

Create youtube actor networks
eawGraph

Load the package included "Enviro Activist Websites 2006" network graph
createTwitterActorNetwork

Create twitter actor networks
getNetworkMetrics

Get graph network metrics
getRedditUrlThreadId

Get a reddit thread id from url
dtbGraph

Load the package included "Divided They Blog" network graph
emptyPlotMessage

Create an empty plot with text
createRedditActorNetwork

Create reddit actor networks
systemTimeFilename

Create a file name with system date time prefix
loadPackageGraph

Load package included network graph
createRedditRequestUrl

Create a reddit url to request thread comments
isMac

Check if macOS
getVertexCategories

Get a list of vertex category attribute names and values
getYoutubeVideoId

Get a youtube video id from url
getVOSONDashVer

Get the VOSONDash package version
getVosonSMLVersion

Get the vosonSML package version
logMessage

Add message to log queue
wordCloudPlot

Create a wordcloud plot
isNullOrEmpty

Check a value for a range of empty conditions
isVosonSML0290

Return logical if vosonSML version later than 0.29
getSystemFontFamilies

Check system fonts
getRedditUrlSubreddit

Get subreddit name from url
wordSentChart

Create an NRC emotion chart
wordFreqFromCorpus

Create a word frequency dataframe
wordFreqChart

Create a word frequency chart
mixmat

Create a mixing matrix
runVOSONDash

Run the VOSON Dashboard Shiny Application
wordSentValenceChart

Create an NRC sentiment valence chart
wordSentData

Create NRC emotion data