ISSS608 Group 5 Meeting Minutes
Project Meeting 2: Project Netlify, R Shiny dashboard modules, Data preparation
Date: 09/03/2024
Time: 10.30am – 12.15pm
In Attendance: Imran Bin Mohd Ibrahim, Teo Suan Ern
Absent: Wong Ngai Munn Zachary Mark
Agenda Items
Finalise project topic
Discussion on Netlify pages
Updates on R Shiny dashboard modules
Exploratory (Data Analysis & Geospatial Data Analysis)
Geospatial Analysis (“Cluster and Outlier Analysis” & “Hot and Zone Spot Analysis”)
Discussion on data preparation (included geospatial)
Any Other Matters/ Follow-up Action
Agenda Item 1: Finalise project topic
Following from the consultation with Prof Kam on 24 February 2024, the team has decided to follow Prof Kam’s advice to adopt the alternative dataset from ACLED and focus on Myanmar instead of Global Terrorism Database from University of Maryland. The ACLED dataset looks at armed conflict incidents as it has more potential.
Given the changes in the project topic, Imran suggested that the team could have a revised version of the project proposal. Suan Ern agreed with Imran’s suggestion and will follow-up to work on revising the project proposal page (version 2).
Each team member will take one of the main prototype modules as follows:
• Exploratory Data Analysis (Initial & Geospatial) – Suan Ern
• “Cluster and Outlier Analysis” & “Hot and Zone Spot Analysis” – Imran
• Confirmatory Data Analysis – Zachary
Agenda Item 2: Discussion on Netlify pages
Discussion on Main and Prototype page
Suan Ern suggested that the team should consider working on the Shiny application and Netlify (Quarto) pages concurrently. Imran thought that it would be good as certain information (pages) could be easily populated (such as Prototype page can be derived from individual members’ take-home exercise 4 and segments from project proposal could be used to fill some of the content on the main page).
Imran agreed to be the main POC for Shiny application (in terms of combining all modules done by all team members) while Suan Ern will follow-up to work on incorporating the few Netlify pages discussed.
Agenda Item 3: Updates on R Shiny dashboard modules
[3-1] Discussion on Exploratory
Suan Ern updated on the Exploratory tab in Shiny application. She mentioned that she has saved the cleaned dataset after her data preparation in .rds format for Shiny application.
o Overview
Suan Ern shared that the subtab would serve as the “landing page” that will display an overview of Myanmar map with its spatial points of armed conflicts over the years (i.e. 2010 to 2023). She added that the spatial points are categorised into different colours by event type category.
Imran agreed that the landing page can be an overview of a Myanmar map and suggested to have a datatable as well. Suan Ern highlighted her concerns in terms of the loading speed of main Shiny page. The team agreed that they would reconsider the layout again after incorporating all Shiny modules for the project and determine the capacity load.
o Geospatial exploration
Suan Ern showed the two geospatial exploration maps (i.e. statistical distribution and spatial distribution) under the Geospatial exploration tab. She shared that the different choropleth maps have different display variables and allow users to perform spatial exploration to conceptualise armed conflict spaces in Myanmar using its own filtering parameters. Suan Ern explained that the boxmap is a spatial representation that is like boxplot and histogram, which is useful to detect outliers and visualise distribution of variables.
Imran suggested to label the filtering parameters according to the different maps to provide greater clarity to users. Suan Ern explained that she has included a text liner to describe the filter options’ applicability to the specific map.
o Trends
Suan Ern explained that the tab will perform time series analysis to identify trends, or cyclic patterns, spot anomalies, visualise distribution of armed conflict incidents/ fatalities and how it has changed over the years using either line chart or calendar heatmap. She shared that she has separated the two charts in different rows (with collapsible feature) to allow users to hide the line chart if users are only keen to display calendar heatmap.
o Distribution
For the distribution tab, Suan Ern shared that it would provide users with data exploration tools to explore the distribution of armed conflict incidents that resulted in fatalities and the dispersion of such incidents across the years in Myanmar. However, she highlighted her concerns in terms of the speed of loading the two charts. She has included a page loading animation indicator bar on all her charts so as to ‘inform’ users that the charts are loading instead of a blank page.
Imran mentioned that it is a good idea to have the page loading animation indicator bar as our project dataset is large.
o Network relationships
For the network relationships tab, Suan Ern presented the network graph that would allow users to explore on the network association amongst the top actors (with more than 300 interactions with the other actors in each year) involved in the armed conflict incidents in Myanmar.
o Incident Summary
Suan Ern presented the final tab that she has created, which would visualise large volume of armed conflict incident summary notes that captures keywords recorded in a word cloud. This would be useful to spot changes over time where users do not have to read through all incident summary notes. The tab will also include a data table of the entire dataset.
Imran shared that he has also considered similar concept of having a plot and the data table next to it (which he would share further in his Shiny application).
[3-2] Discussion on Geospatial Analysis
Imran mentioned that he has saved the cleaned dataset after his data preparation in .csv format for Shiny application. Imran explained that his prototype has two main tabs (‘cluster and outlier analysis’ & ‘Hot and cold zone analysis’). For ‘cluster and outlier analysis’ tab, he has further split them into three different sub-tabs to cover the different forms of geospatial analysis.
o Cluster and Outlier Analysis – first sub-tab
Imran presented the first tab with a proportional symbol map and a choropleth map that he has created to provide users with a visual introduction of the state of armed conflict incidents in Myanmar. On the functionality and interactivity components, Imran added that the Proportional Symbol Map would allow users to select the specific year and event type, where users will be able to see where conflicts events have happened in the country across. Furthermore, the size of the symbols will correspond to the number of fatalities.
The choropleth map visualises the “intensity” of event types through use of color gradient. Instead of implementing a global filter to filter and affect both plots, Imran explained that he has chosen to apply separate filter selections for each plot to enable users to explore different data independently.
Suan Ern realised the similarities of the two maps on exploratory tab - overview and geospatial exploration sub-tab pages, and clarified with Imran on the filter components for choropleth maps. She highlighted that the choropleth maps may use different filter options (such as adjusting the different ‘kernel’ options).
Imran explained that his choropleth map used frequency counts while Suan Ern’s spatial distribution map used frequency rate, he suggested to implement the best practice of each team member when he consolidates the Shiny codes to ensure that each map serves its unique purpose.
o Cluster and outlier analysis – second sub-tab
Imran shared that this tab has two choropleth maps rendering the Local Moran’s I statistics and its corresponding p-values as well as a data table of the statistics. He went on to explain that users will be able to select the year and the event type once. Both maps, along with the data table will be updated upon user selection.
o Cluster and outlier analysis – third sub-tab
Imran shared that this would provide users with a visualisation of statistically significant clusters via the LISA Maps which would help users understand how clusters of event types may have developed and/or changed over time by adjusting the filters options.
He further added that the Moran scatterplot enables users to see the statistically significant region names, by means of the quadrants and the annotations, whereas, Lisa Cluster map shows the specific parts of the country which are categorised as statistically significant or insignificant.
Suan Ern clarified the filters options below Local Moran’s I Statistic, but there was none for Local Moran’s I P values map. Imran explained that he intended to have a global filter that would update both maps as well as the data table.
o Hot and cold zone analysis
Imran shared that this module provides users with a visualisation of statistically significant areas of event types, using the Getis and Ord’s G statistics in order to help users understand how hot and cold zones may have developed and/or changed over time.
Both the map and the data table will be updated upon user selection of year and event type. For the choropleth map, users will be able to select the specific year, event type, the data classification method and the number of clusters for the adaptive weight matrix. In addition, a data table that shows the statistics being rendered in the map can serve as a reference to users for the results filtered from user selection.
[3-3] Discussion on Shiny template
Suan Ern shared that she managed to figure out customising the colour themes in Shiny and has adjusted the colours for navigation bar (a darker tone colour of red) and side bar (light grey and hover-over to match the overall navigation bar colour). She also shared that she has tried to standardise the filter box colour to a different colour from the main box panel for plots to allow users to easily differentiate the different layout features. Suan Ern further added that she also tried to standardised her layout to either the extreme left or right panels for a consistency look and user as part of user experience. Imran mentioned that for consistency of the dashboard, it would be good to standardise the format and would use Suan Ern’s format when incorporating his prototype’s filter components.
Imran raised his concerns in compiling the R Shiny application code for the team, as careful consideration is needed to consider which plots should be grouped together on the same tab/page. He further added that his R Shiny application code’s reactive statements grew in length and complexity, and errors were hard to isolate and easily propagated to other functions and outputs. Imran shared that he has adopted a modular approach (unique UI-Server code pairing) and allowed him to have easier trouble shooting (isolate errors per individual plot’s code chunk). Suan Ern agreed and mentioned that she also did the same and grouped the codes in the same ‘module’ by utilitising comment line.
[3-4] Discussion on data preparation (included geospatial)
1. Discussion on data preparation and new variables created
Suan Ern explained that she has done two different data preparation, (1) data preparation for non-geospatial related plots and (2) data preparation for geospatial plots.
For (1), Suan Ern shared that she has tried to check the data structure of the dataset and found that the event date variable was in character format. Hence, she has converted that variable to string format. She has also tried to create some variables based on total armed conflict incidents and total fatalities (by disorder type and sub event type), such as annual percentage of political violence/ annual percentage of violence against civilian and extracted day/ month from the event date variable, for subsequent data exploration.
2. Discussion on geospatial data preparation/ geospatial boundary
Imran shared his data preparation from his take-home exercise 4, where he tried to use admin 1 (region/state) and admin 2 (districts) levels. However, for most of his plots, he mentioned that he was using admin 2 levels.
Imran used the shape files from the Myanmmar Information Management Unit (MIMU) website, as he found that GADM and GeoBoundaries have their limitations in terms of the administrative region information and map levels, where he tried to check for unique district names from the shape files (admin level 2) by identifying discrepancies and re-named some administrative areas (such as from Yangon-East changed to Yangon (East)) to synchronise with the downloaded shape files from MIMU.
For geospatial data preparation, Suan Ern explained that she used the cleaned dataset that she extracted from data preparation segment. She explained that she downloaded all three levels of Myanmar administrative boundaries from geoBoundaries but only used Myanmar Level-2 Administrative Boundary in the subsequent geospatial exploration where she used EPSG:4979 - WGS 84 Geographic Coordinate system and EPSG:4144 - Myanmar Projected Coordinate System.
Imran highlighted that given that each member did different geospatial data preparation methods, he suggested to look into it and would update the team on the final dataset for Shiny application.
Agenda Item 4: Any Other Matters/ Follow-up Action
With no other matters, the meeting ended at 12:15pm.
Follow-up Actions:
The team updated Zachary via Telegram group chat on the team’s meeting and progress.
Suan Ern will prepare the draft minutes of meeting and update the team for inputs.
The team agreed to meet every week for the subsequent weeks (every Saturday, 10.30am) till project submission.
The team agreed on the follow-up actions for the next meeting:
Zachary
- Complete confirmatory analysis Shiny prototype
Imran
Test and implement interactivity portion for static plots in his Shiny prototype
Merge team members Shiny prototypes
Suan Ern
Test and link filters components in her Shiny prototype
Revise project proposal (with ACLED dataset)
Combine team members Quarto documents as Prototype page in Netlify.