What does this package do?
SocialMediaLab is an R package that provides a suite of tools for collecting and constructing networks from social media data. It provides easy-to-use functions for collecting data across popular platforms (Instagram, Facebook, Twitter, and YouTube) and generating different types of networks for analysis.
The latest 'official' version of the package can also be found on CRAN.
Current known issues
If you are getting the error
Error in check_twitter_oauth( ), please find a solution here.
If you are having trouble getting data from Facebook, it is probably due to a known issue with authentication for the
Rfacebook package, which has a solution.
Instagram API access is severely limited if you do not have an authorised app, which is significantly harder to obtain nowadays.
For detailed information and examples, please refer to the SocialMediaLab documentation.
The SocialMediaLab page on the VOSON website also has several "how to" guides, including an "Absolute Beginners Guide to SocialMediaLab" tutorial aimed at people with little or no programming experience.
Using Magrittr's pipe interface
The process of authentication, data collection and creating social network can be expressed with the 3 verb functions: Authenticate, Collect and Create. The following are some of the examples from the package documentation expressed with the pipe interface.
require(magrittr) # Authenticate with youtube, Collect data from youtube and Create an actor network Authenticate("youtube", apiKey= apiKey) %>% Collect(videoIDs = videoIDs) %>% Create("Actor") # Authenticate with facebook, archive the API credential, Collect data about Starwars Page and Create a bimodal network # You can use facebook, FaCebooK or Facebook in the datasource field Authenticate("Facebook", appID = appID, appSecret = appSecret) %>% SaveCredential("FBCredential.RDS") %>% Collect(pageName="StarWars", rangeFrom="2015-05-01",rangeTo="2015-06-03") %>% Create("Bimodal") # Authenticate with Twitter, Collect data about #auspol and Create a semantic network Authenticate("twitter", apiKey=myapikey, apiSecret=myapisecret,accessToken=myaccesstoken, accessTokenSecret=myaccesstokensecret) %>% Collect(searchTerm="#auspol", numTweets=150) %>% Create("Semantic") # Create Instagram Ego Network myUsernames <- Authenticate("instagram", appID = myAppId, appSecret = myAppSecret) %>% Collect(ego = TRUE, username = c("adam_kinzinger","senatorreid")) %>% Create
The following networks were created in SocialMediaLab and visualised using the Gephi software.
Facebook bimodal network (Star Wars page)
This network visualises two weeks of activity on the Star Wars Facebook page. Nodes (vertices) represent either users or posts, and node ties (edges) represent either 'likes' or comments. Nodes are sized by out-degree and coloured by modularity cluster.
Instagram ego network
This network visualises the social network of one user (the 'ego' node) on Instagram. The degree of the network is "2", meaning that it shows ego + alters ("followers of ego") and ego + alters + alters of alters of ego "followers of followers of ego". 'Follows' data are also collected, so this network also shows "users who ego follows" and "users who followers of ego follow".