Shiny is an R-based programming solution that allows building interactive web apps and combines the computational power of R with the interactivity of the modern web. It allows to host standalone apps on a webpage, embed them in R Markdown documents, or build dashboards.
This section acts as a showroom of apps I’ve put together for conferences or simply as a presentation of my work.
The app is a wrapper for a transformer based deep learning model trained for identification of authoritarian stances in raw text. The model is based on distilroberta-base and is intended for classification of English text only. The model is fine-tuned on the dataset of speeches delivered by authoritarian/democratic leaders in the United Nation General Assembly. The dataset covers speeches presented from 1970 and 2020 and are freely available via Harvard Dataverse Repository (link). Set up as a binary classification problem, the model classifies individual sentences for being/not being associated with an authoritarian discourse. Rather than trying to define what an authoritarian discourse is, the model builds on the assumption that authoritarian leaders inherently define it. In other words, authoritarian leaders talk like authoritarians. If combined with the discourse defined by democratic leaders, the model tries to learn sentences that are more often associated with authoritarians. Test the model here.
The app is a wrapper for a machine-learning model trained for text classification used in the paper Ethnic Bias after Ethnic Conflict: Preferential Voting and the Serb Minority in Croatian Elections (link). Set up as a binary classification problem, the model replicates the sixth sense people from the SEE region have when hearing a name and saying “that’s a Croatian name/that’s a Serbian name” (hence the name SEEth Sense). The model is trained using a balanced dataset of 225 110 Croat/Serbian names and achieves an accuracy of over 91%. Test the app here.
Although there are several alternatives for doing systematic literature reviews for academics, none of them are focused on field-specific applications. Moreover, existing databases usually do not cover all relevant journals or their most recent publications including early view versions of accepted papers. The app is inspired by a routine I applied while working on literature reviews when I systematically checked my field-specific journals using complex Boolean expressions.
The engine uses RSelenium web driver for navigating rvest web scraper to papers returned by a search query executed on a journal’s native homepage. A typical result is a database containing meta information on scraped papers that can be easily checked and further processed (qualitatively or quantitatively). Due to copyright reasons and restrictions concerning web scraping, the app is not freely available and can be run only locally. Below is a video showing how the app works in practice. Currently, the database contains over 50 field-relevant journals published by various publishing houses.
CroPolarizeR is an online analytical tool for analyzing political debates in Croatian Sabor. It uses the Wordfish algorithm to extract speakers’ political positions and project them onto a single scale defined by a topic under discussion. The algorithm relies on a statistical model of word counts and the Poisson distribution of word frequencies. Positions of speakers are estimated using an expectation-maximization algorithm. Confidence intervals for estimated positions are generated from a parametric bootstrap. If you want to learn more about Wordfish, see Slapin, Jonathan and Sven-Oliver Proksch. 2008. “A Scaling Model for Estimating Time-Series Party Positions from Texts.” American Journal of Political Science 52(3): 705-772.
The app uses shiny servers for deploying a real-time analysis of MPs’ positions in more than 4.500 debates collected from December 2003 to June 2019. Positions of MPs are summarized on a level of agenda, capturing overall positions of speakers’ contributions in a debate.
Although the app is still under development and might be buggy, its beta version can be tested and explored here. In the app, please select the term you are interested in, the year under that term, and the agenda you would like to analyze. For the agenda field, you can search in the list of available items or just start typing and use a full-text search query instead. The last step is to run the analysis with the button “Analyze”. The result will appear in the central part of the app; there are two graphs, the first visualizing the overall positions of all MPs on a specific agenda and the second introducing groupings on a party level. The download button in the top-right corner allows users to download the outcome of the analysis used for visualization. Although the data can be further analyzed and processed, the visualization already provides useful empirical information – it can highlight the overall positions of individual MPs on the agenda, identify existing cleavages among political parties, and recognize within-party divisions with dissent positions.
Mythologizing War: Legacies of Conflict in Croatian Parliament Debates
An interactive app was presented as a part of the Workshop on Authoritarian Backsliding, Electoral Misconduct and Violence organized at King’s College London (May 2019). It visualizes vector similarities of war-related concepts against a general concept of authoritarianism. The app is part of the paper Mythologizing War: Legacies of Conflict in Croatian Parliament Debates that was published in Southeast European and Black Sea Studies (link). Test the app here or click the image below.