Last updated: 2021-03-24

Checks: 5 1

Knit directory: thesis/analysis/

This reproducible R Markdown analysis was created with workflowr (version 1.6.2). The Checks tab describes the reproducibility checks that were applied when the results were created. The Past versions tab lists the development history.

Great job! The global environment was empty. Objects defined in the global environment can affect the analysis in your R Markdown file in unknown ways. For reproduciblity it’s best to always run the code in an empty environment.

The command set.seed(20210321) was run prior to running the code in the R Markdown file. Setting a seed ensures that any results that rely on randomness, e.g. subsampling or permutations, are reproducible.

Great job! Recording the operating system, R version, and package versions is critical for reproducibility.

Nice! There were no cached chunks for this analysis, so you can be confident that you successfully produced the results during this run.

Great job! Using relative paths to the files within your workflowr project makes it easier to run your code on other machines.

Tracking code development and connecting the code version to the results is critical for reproducibility. To start using Git, open the Terminal and type git init in your project directory.

This project is not being versioned with Git. To obtain the full reproducibility benefits of using workflowr, please see ?wflow_start.

1 Introduction

1.1 Background.

While the world has seen only limited numbers of international conflicts in the 21st century, civil war is on the rise (Figure 1.1). These conflicts not only are associated with increasing numbers of casualties, but they also threaten the social fabric of societies through migration pressure, especially towards the urban centers (Brzoska and Fröhlich, 2016; Owain and Maslin, 2018; Reuveny, 2007), and put material assets such as infrastructure, agricultural production, and natural forests at risk (Adelaja and George, 2019; Buhaug et al., 2015; Eklund et al., 2017; Jones et al., 2017; Koren, 2018). The scientific literature has successfully revealed a multitude of pathways violent conflict, directly and indirectly, impacts socio-economic indicators. It is commonly agreed that violent conflict is a primary factor impeding sustainable development due to the vigorous impacts on people’s livelihoods (Gates et al., 2012). However, the field is complex, with many interdependent relationships. Posing the question of causality, especially for the relationship between the natural environment and conflict, produced heterogeneous and even contradicting empirical results over the last decades (Ward and Bakke, 2005). Methodologically, the scientific community has been focused on using various degrees of derivatives of simple linear regression models to construct theory-based causal models to explain the occurrence, duration, and intensity of violent conflict in relation to natural and socio-economic covariates. Very often, these models proved less valuable for actually predicting violent conflict into the yet unseen future. Some researchers have attributed this shortcoming to the strategy of fitting the parameters of causal models (Colaresi and Mahmood, 2017). Most studies fit their parameters and evaluate the model in-sample, meaning that the complete data set is used during both stages, model building and evaluation. While this has the clear advantage of explaining why something has happened within the spatiotemporal domain of a given study, extrapolating these findings to other space-time locations or even to the future of the domain itself led to discouraging results. These shortcomings in accurately predicting the occurrence of violent conflict have not been unrecognized by the general public (Ward et al., 2010). Especially for political decision-makers, accurate predictions into the future and information on how they can act to prevent conflict are of utmost importance. This led to increasing criticism on the usability of research findings because they were neither suited to predict violence outbreaks nor did they inform decision-makers on how to act to achieve a more peaceful future.


custom_match = c("Yemen")
names(custom_match) = "Yemen (North Yemen)"

ged201 %>%
    continent = countrycode(sourcevar = .$country,
              origin = "",
              destination = "continent",
              custom_match = custom_match)
    ) %>%
  filter(continent == "Africa") -> ged_africa

ged_africa %>%
  dplyr::select(year, type_of_violence, starts_with("deaths")) %>%
  mutate(total_deaths = sum(3:4)) %>%
  dplyr::select(-starts_with("deaths")) %>%
  group_by(year, type_of_violence) %>%
  summarise(total_deaths = sum(total_deaths)) %>%
  ungroup %>%
  arrange(year, type_of_violence) %>%
  mutate(type_of_violence = factor(type_of_violence, 
                                   levels = c(3:1), 
                                   labels = rev(c("state-based", "non-state", "one-sided"))),
         year = as.Date(paste("01-01-", year, sep = ""), format = "%d-%m-%Y")) %>%
  ggplot() +
  geom_bar(aes(x=year, y=total_deaths, fill=type_of_violence), stat = "identity", position="stack", alpha=.6) +
  geom_smooth(aes(x=year,y=total_deaths), color = "#1B9E77",  method = "lm", se=F) +
  scale_fill_manual(values = RColorBrewer::brewer.pal(n=4, name = "Dark2")[4:2]) +
  scale_x_date(labels = date_format("%Y"), breaks = as.Date(c("1989-01-01", "2000-01-01", "2010-01-01", "2019-01-01"))) +
  scale_y_continuous(labels = scales::comma) +
  theme_classic() +
  labs(y= "Number of deaths", x = "Year", fill = "Type of violence")+
  theme(legend.position = "bottom",
        legend.key.size = unit(0.4, "cm"),
        legend.text = element_text(size = 9),
        legend.title = element_text(size=10),
        axis.text = element_text(size = 7),
        axis.title=element_text(size=10)) -> plot_out


Figure 1.1: Total number of conflict casualties in Africa 1989-2019. The green line indicates the linear trend for the conflict classes combined.

1.2 Recent Developments.

Today, massive amounts of data are collected in near-realtime. Due to recent advances in computational power it is now possible to apply computational intensive tools to analyze this data. These developments have led to a shift in the peace and conflict research community to use newly available research opportunities for more robust conflict prediction. A first adaptation to the shortcomings of causal models was a shift towards out-of-sample evaluation for prediction models (Ward et al., 2010, 2013). In short, this can be summarized in the observation that a variable is useful that accurately predicts, not necessarily that one that has a lower p-value. This approach to conflict prediction was born out of the necessity to change the community’s standpoint towards causal models because they failed to predict more often than not. The question arose about the value of a conflict theory when the theoretically grounded selection of significant variables does not lead to useful predictions. In this context, it has been noted that establishing models for prediction itself can inform theory building (Ward et al., 2010). A model that accurately predicts will at least carry some information on the data generating process that can be integrated during the practice of theory building. The second adaptation is in the use of more sophisticated models that possibly capture non-linear relationships better. The conflict research community has seen an increase in the use of machine learning models like Random Forest (Muchlinski et al., 2016; Perry, 2013) as well as Deep Learning (DL) techniques (Beck et al., 2000; Schellens and Belyazid, 2020) to more accurately predict, both in space and time, the occurrence of violent conflict. A third shift has primarily materialized on the left side of the equation. Recent technological advances allowed for the nearly fully automated coding of event data on violence. Examples are the Armed Conflict Location & Event Data Project (ACLED) (Raleigh et al., 2010), the Upsala Conflict Data Program (UCDP) (Pettersson and Öberg, 2020), and the Global Database of Events, Language, and Tone (GDELT) (GDELT, 2021), which automatically filter global news feeds for the occurrences of events of interest. Human intervention is mainly restricted to quality control, delivering previously unseen information richness on spatially and temporally disaggregated levels in near-realtime. Conflict research has not yet fully integrated increased data streams on the right side of the equation. Most studies still rely on highly aggregated predictors based on country-years while other research fields, such as different earth sciences, saw an tremendous increase in the availability of data mainly driven by advances of remote sensing technology. Only a few conflict prediction studies make use of disaggregated data sets on the sub-national level and higher temporal resolution. In principle, this can be explained due to the difficulties associated with a spatial-continuous mapping of socio-economic variables. The PRIO-GRID is one example to overcome this limitation using statistical methods to distribute survey data in space (Tollefsen et al., 2012). Other projects also showed promising results in mapping demographic data sets into regularly spaced grids worldwide (WorldPop, 2018). For natural resources, however, many analysis-ready data sets with high spatiotemporal resolution are already available, and more are yet to come, e.g., through the European Copernicus Program (European Union, 2021).

1.3 Environmental Causes of Conflict.

Whether environmental change can be a driver of violent conflict has been asked since the 1990s. Homer-Dixon presented his famous pie metaphor differentiating between three dimensions of environmental scarcity based on several qualitative case studies in the early 1990s (Homer-Dixon, 1995, 1994, 1991). The general size of the pie from which each individual within a society gets a share is determined by the availability of natural resources. Decreasing the availability or quality of a resource will consequently decrease the overall size of the pie. Increasing population numbers or changes in the consumption pattern can lead to a reduced share available per capita. Moreover, discriminatory distributional policies can reduce the share an individual or social group receives in relation to others leading to, e.g., the marginalization of specific linguistic, religious, or ethnic populations. These dimensions of environmental scarcity can be observed in various combinations, eventually increasing the overall conflict risk.

However, as Sachs and Warner (1995) showed, the abundance of natural resources does not prevent conflicts from arising. On the contrary, based on empirical evidence, they showed that resource-rich countries were more likely to experience conflict and impeded economic development than resource-poor countries. For countries with the most available natural resources the risk of experiencing conflicts was again reduced to a low level. These findings were coined as the resource curse and inspired their own research line, mostly supporting the original findings (Alexeev and Conrad, 2009; Antonakakis et al., 2015; Bjorvatn et al., 2012; Boschini et al., 2013). Early on, it was noted that a high level of non-linearity is associated with the analyzed processes. Focusing explicitly on rebellions and insurgencies, Collier (1998) showed that an econometric model including the opportunity costs of rebellions could explain observed occurrences. However, they conclude that the relationship between the covariates and the conflict outcome might be non-monotonic. For example, very high rates of ethnic fractionalization do not necessarily increase the conflict risk. Instead, fractionalization into two similarly sized groups shows the highest increase. In another study, they showed that African countries show a greater baseline risk for conflict compared to other world regions due to their economic structure. But the ethnic composition primarily acts as an reduction factor of conflict risk (Collier and Hoeffler, 2002).

In the context of increasing awareness of the consequences of climate change and its challenges for sustainable development, it is surprising to see only a few attempts to link environmental change to violent conflict during the last decade. In most of the studies, natural resources are proxied by primary commodity exports (Collier and Hoeffler, 2004; Fearon and Laitin, 2003; Muchlinski et al., 2016). More recent attempts emphasize capturing non-linearities between predictor variables and the outcome, but a systematic analysis of environmental predictors is mostly absent. Hegre et al. (2019) produce an early-warning system for violence using model ensemble forecasts based on different spatial aggregation units. Natural resources in terms of different land cover classes and the distance to diamond and oil extraction sides are only included for one of the aggregation units and not systematically analyzed. Schutte (2017) presents an innovative approach based on modeling conflicts as point processes on the African continent. However, natural resource variables are restricted to accessibility and land cover data and not systematically analyzed. Witmer et al. (2017) set out to estimate the long-term dynamics of subnational conflict (2015-2065) based on different climate scenarios. While their model explicitly analyzes the impact of precipitation and temperature changes, long-term scenario simulations, due to their nature, do not serve well as early-warning systems for decision-makers to prevent conflict. Halkia et al. (2020) presented the Global Conflict Risk Index (GCRI), a tool used by the European Union for conflict prediction. It is based on a simple logistic regression model, nonetheless achieves remarkable accuracy results. However, variables related to natural resources are included under the label of economic variables. They are limited to indices on food security and water stress as well as raw oil production. Even though not peer-reviewed, the World Resource Institute (WRI) published a technical note reporting on their efforts for a violent conflict forecasting tool (Kuzma et al., 2020). By using a Random Forest model and incorporating several environmental variables concerned with food production and water availability, they produce promising results for the African continent, the Middle East and parts of Asia. They include an analysis of variable importance which only indicates as relevant a few of the environmental predictors. Schellens and Belyazid (2020) analyze the role of natural resources in violent conflict prediction through modern machine learning techniques. They compare a standard logistic regression model versus two types of neural networks and a Random Forest model. They particularly test model performance on different sets of predictors. One of these sets includes natural resources conceptualized as agricultural production, forest area, primary commodity exports of non-renewable resources, water access, withdrawal, and available reserves, as well as resource rents. Their results indicate an improvement of the Random Forest model when natural resource variables are included. However, the analysis of the neural networks remains rather shallow because only basic network architectures were considered.

1.4 Research Question.

The outlined review of the literature leads to the main research question of this thesis, namely if a modern deep learning framework and the vast availability of open geodata can positively impact the task of spatiotemporal conflict detection. Note that detection and prediction will be used interchangeably in this thesis. Continuing with a brief definition of the two basic concepts, open geodata can be defined as freely available and usable data related to some information of space. Very commonly, it is based on remote sensing imagery. Remote sensing enables the collection of spatiotemporal comprehensive measurements. In principle, it works by measuring the spectral reflectance of the Earth’s surface in different bands across the electromagnetic spectrum (De Jong et al., 2007). Through physically informed transformation models, the original spectral reflectance values can be translated into measurements of physical variables, e.g., evapotranspiration from the canopy or biomass production of the vegetation cover. Also, land cover can be mapped regularly, informing, e.g., dynamics of deforestation or the extension of agricultural farmland. There are many agencies, research institutions, and companies that provide a wide range of so-called value-added remote sensing products, a lot of them at zero cost (Radočaj et al., 2020). On the other hand, DL is a subcomponent of machine learning, often focusing on solving supervised classification and regression problems by using neural networks (LeCun et al., 2015). These networks consist of varying numbers and architectures of hidden layers, mapping a specified input to the desired output through non-linear transformations of the data values. They are supervised because the outcome of specific observations is known, and a model is tasked with optimizing its parameters towards lowering the prediction error. The model performance is evaluated based on an out-of-sample validation set. A suitable parametrization of the model is equivalent to its generalization potential to unseen data and consequently will yield high-performance metrics on the validation set.

In the context of conflict prediction, DL methods seem promising to deliver accurate predictions in both the temporal and the spatial domain (Emmert-Streib et al., 2020). The occurrence of conflict is a highly complex process, with many interdependent variables from the social, economic, and environmental dimensions of human reality. DL could indicate a way to yield accurate conflict predictions despite this complexity. Additionally, the availability of spatial and temporal comprehensive data sets mainly based on remote sensing technology allows gathering predictor variables suited for conflict prediction in a time and cost-efficient manner. For the presents study’s design, two theoretical grounded assumptions are of particular relevance. First, it is assumed that linkages between environmental variables and conflict are not necessarily observed in-situ nor instantaneously. The first aspect of this assumption means that environmental processes in one location might impact the conflict risk at yet a distinct but related location. For example, a bad harvest, e.g., through an extensive drought, might aggravate conflict risk in a neighboring urban center due to increased food prices. The same increase in conflict risk is not necessarily observed in the rural areas where the root cause, i.e., the extensive drought, took place. The second aspect emphasizes that the problem at hand is one of a time series. For example, deforestation might not instantaneously negatively impact the livelihoods of the communities. However, ongoing deforestation in the long term can lead to increased soil erosion, undermining the basis of rural livelihoods and eventually increase conflict risk. Second, environmental change does not stop at national borders. Put differently, administrative boundaries rarely follow natural borders, e.g., in the case of a river course separating two nation-states. If environmental dynamics are the subject of analysis, this could mean that administrative districts are not necessarily the optimal choice to study these dynamics. The interdependence between environmental change and the risk of conflict might be better depicted on a different scale, e.g., by aggregating variables based on watersheds.

Guided by these assumptions, a workflow is set up to test for two distinct hypotheses. These are:

  • H1: Environmental predictors increase the performance of deep learning models for the conflict prediction task over models based solely on the conflict history and structural variables.

  • H2: Aggregating predictor and response variables on the basis of sub-basin watersheds delivers better predictive performance than aggregating on sub-national administrative districts.

1.5 General Methodology.

To test for these hypotheses, the study’s design is presented in detail in the following section. Briefly, (i) several socio-economic and environmental variables available in spatially explicit formats are collected and aggregated for sub-national administrative districts and sub-basin watersheds, (ii) spatial buffers around these districts are used to account for processes occurring in a district’s larger spatial neighborhood, (iii) DL models are trained on different predictor sets consisting of the conflict history, structural, and environmental variables to solve the conflict prediction statistically formulated as a time series problem, (iv) model performances are evaluated on an out-of-sample validation set and cross-checked with a logistic regression baseline, (v) performance results are comprehensibly reported for all model configurations for different classes of violent conflict, allowing for an analysis of variance in the predictive performance to obtain statistical significant indications in relation to the hypotheses.

2 References

Adelaja, A., George, J., 2019. Effects of conflict on agriculture: Evidence from the Boko Haram insurgency. World Development 117, 184–195.

Alexeev, M., Conrad, R., 2009. The Elusive Curse of Oil. The Review of Economics and Statistics 91, 586–598.

Antonakakis, N., Cunado, J., Filis, G., Perez de Gracia, F., 2015. The Resource Curse Hypothesis Revisited: Evidence from a Panel VAR. MPRA Paper, University Library of Munich. Germany.

Beck, N., King, G., Zeng, L., 2000. Improving Quantitative Studies of International Conflict: A Conjecture. American Political Science Review 94, 21–35.

Bjorvatn, K., Farzanegan, M.R., Schneider, F., 2012. Resource Curse and Power Balance: Evidence from Oil-Rich Countries. World Development 40, 1308–1316.

Boschini, A., Pettersson, J., Roine, J., 2013. The Resource Curse and its Potential Reversal. World Development 43, 19–41.

Brzoska, M., Fröhlich, C., 2016. Climate change, migration and violent conflict: Vulnerabilities, pathways and adaptation strategies. Migration and Development 5, 190–210.

Buhaug, H., Benjaminsen, T.A., Sjaastad, E., Theisen, O.M., 2015. Climate variability, food production shocks, and violent conflict in Sub-Saharan Africa. Environmental Research Letters 10, 125015.

Colaresi, M., Mahmood, Z., 2017. Do the robot: Lessons from machine learning to improve conflict forecasting. Journal of Peace Research 54, 193–214.

Collier, P., 1998. On economic causes of civil war. Oxford Economic Papers 50, 563–573.

Collier, P., Hoeffler, A., 2004. Greed and grievance in civil war 56, 563–595.

Collier, P., Hoeffler, A., 2002. On the Incidence of Civil War in Africa. Journal of Conflict Resolution 46, 13–28.

De Jong, S., Meer, F., Clevers, J., 2007. Basics of Remote Sensing, in: de Jong, S.M., van der Meer, F.D. (Eds.), Remote Sensing Image Analysis: Including the Spatial Domain, Remote Sensing and Digital Image Processing. Springer Netherlands, pp. 1–15.

Eklund, L., Degerald, M., Brandt, M., Prishchepov, A.V., ö, P.P., 2017. How conflict affects land use: Agricultural activity in areas seized by the Islamic State. Environmental Research Letters 12, 054004.

Emmert-Streib, F., Yang, Z., Feng, H., Tripathi, S., Dehmer, M., 2020. An Introductory Review of Deep Learning for Prediction Models With Big Data. Frontiers in Artificial Intelligence 3.

European Union, 2021. Copernicus programme [WWW Document]. URL

Fearon, J.D., Laitin, D.D., 2003. Ethnicity, Insurgency, and Civil War. American Political Science Review 97, 75–90.

Gates, S., Hegre, H., Nygåard, H.M., Strand, H., 2012. Development Consequences of Armed Conflict. World Development 40, 1713–1722.

GDELT, 2021. The GDELT Project [WWW Document]. URL

Halkia, M., Ferri, S., Schellens, M.K., Papazoglou, M., Thomakos, D., 2020. The Global Conflict Risk Index: A quantitative tool for policy support on conflict prevention. Progress in Disaster Science 6, 100069.

Hegre, H., Allansson, M., Basedau, M., Colaresi, M., Croicu, M., Fjelde, H., Hoyles, F., Hultman, L., Högbladh, S., Jansen, R., Mouhleb, N., Muhammad, S.A., Nilsson, D., Nygård, H.M., Olafsdottir, G., Petrova, K., Randahl, D., Rød, E.G., Schneider, G., von Uexkull, N., Vestby, J., 2019. ViEWS: A political violence early-warning system. Journal of Peace Research 56, 155–174.

Homer-Dixon, T.F., 1995. The Ingenuity Gap: Can Poor Countries Adapt to Resource Scarcity? Population and Development Review 21, 587–612.

Homer-Dixon, T.F., 1994. Environmental Scarcities and Violent Conflict: Evidence from Cases. International Security 19, 5.

Homer-Dixon, T.F., 1991. On the Threshold: Environmental Changes as Causes of Acute Conflict. International Security 16, 76–116.

Jones, B.T., Mattiacci, E., Braumoeller, B.F., 2017. Food scarcity and state vulnerability: Unpacking the link between climate variability and violent unrest. Journal of Peace Research 54, 335–350.

Koren, O., 2018. Food Abundance and Violent Conflict in Africa. American Journal of Agricultural Economics 100, 981–1006.

Kuzma, S., Kerins, P., Saccoccia, E., Whiteside, C., Roos, H., Iceland, C., 2020. Leveraging Water Data in a Machine Learning-Based Model for Forecasting Violent Conflict. Technical note. [WWW Document]. URL

LeCun, Y., Bengio, Y., Hinton, G., 2015. Deep learning. Nature 521, 436–444.

Muchlinski, D., Siroky, D., He, J., Kocher, M., 2016. Comparing Random Forest with Logistic Regression for Predicting Class-Imbalanced Civil War Onset Data. Political Analysis 24, 87–103.

Owain, E.L., Maslin, M.A., 2018. Assessing the relative contribution of economic, political and environmental factors on past conflict and the displacement of people in East Africa. Palgrave Communications 4, 47.

Perry, C., 2013. Machine Learning and Conflict Prediction: A Use Case. Stability: International Journal of Security and Development 2, Art. 56.

Pettersson, T., Öberg, M., 2020. Organized violence, 1989–2019. Journal of Peace Research 57, 597–613.

Radočaj, D., š, J.O., Juriši’c, M., Gašparovi’c, M., 2020. Global Open Data Remote Sensing Satellite Missions for Land Monitoring and Conservation: A Review. Land 9, 402.

Raleigh, C., Linke, A., Hegre, H., Karlsen, J., 2010. Introducing ACLED: An Armed Conflict Location and Event Dataset. Journal of Peace Research 47, 651–660.

Reuveny, R., 2007. Climate change-induced migration and violent conflict. Political Geography 26, 656–673.

Sachs, J.D., Warner, A.M., 1995. Natural Resource Abundance and Economic Growth. National Bureau of Economic Research.

Schellens, M.K., Belyazid, S., 2020. Revisiting the Contested Role of Natural Resources in Violent Conflict Risk through Machine Learning. Sustainability 12, 6574.

Schutte, S., 2017. Regions at Risk: Predicting Conflict Zones in African Insurgencies. Political Science Research and Methods 5, 447–465.

Tollefsen, A.F., Strand, H., Buhaug, H., 2012. PRIO-GRID: A unified spatial data structure. Journal of Peace Research 49, 363–374.

Ward, M.D., Bakke, K., 2005. Predicting Civil Conflicts: On the Utility of Empirical Research, in: Proccedings of the Conference on Disaggregating the Study of Civil War and Transnational Violence. University of California. San Diego, Usa. p. 22.

Ward, M.D., Greenhill, B.D., Bakke, K.M., 2010. The perils of policy by p-value: Predicting civil conflicts. Journal of Peace Research 47, 363–375.

Ward, M.D., Metternich, N.W., Dorff, C.L., Gallop, M., Hollenbach, F.M., Schultz, A., Weschle, S., 2013. Learning from the Past and Stepping into the Future: Toward a New Generation of Conflict Prediction. International Studies Review 15, 473–490.

Witmer, F.D., Linke, A.M., O’Loughlin, J., Gettelman, A., Laing, A., 2017. Subnational violent conflict forecasts for sub-Saharan Africa, 201565, using climate-sensitive models. Journal of Peace Research 54, 175–192.

WorldPop, 2018. Global High Resolution Population Denominators Project [WWW Document]. URL

R version 3.6.3 (2020-02-29)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux 10 (buster)

Matrix products: default
BLAS/LAPACK: /usr/lib/x86_64-linux-gnu/

 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=C             
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] plotly_4.9.2.1     lubridate_1.7.9.2  rgdal_1.5-18       countrycode_1.2.0 
 [5] welchADF_0.3.2     rstatix_0.6.0      ggpubr_0.4.0       scales_1.1.1      
 [9] RColorBrewer_1.1-2 latex2exp_0.4.0    cubelyr_1.0.0      gridExtra_2.3     
[13] ggtext_0.1.1       magrittr_2.0.1     tmap_3.2           sf_0.9-7          
[17] raster_3.4-5       sp_1.4-4           forcats_0.5.0      stringr_1.4.0     
[21] purrr_0.3.4        readr_1.4.0        tidyr_1.1.2        tibble_3.0.6      
[25] tidyverse_1.3.0    huwiwidown_0.0.1   kableExtra_1.3.1   knitr_1.31        
[29] rmarkdown_2.7.3    bookdown_0.21      ggplot2_3.3.3      dplyr_1.0.2       
[33] devtools_2.3.2     usethis_2.0.0     

loaded via a namespace (and not attached):
  [1] readxl_1.3.1       backports_1.2.0    workflowr_1.6.2   
  [4] lwgeom_0.2-5       lazyeval_0.2.2     splines_3.6.3     
  [7] crosstalk_1.1.0.1  leaflet_2.0.3      digest_0.6.27     
 [10] htmltools_0.5.1.1  memoise_1.1.0      openxlsx_4.2.3    
 [13] remotes_2.2.0      modelr_0.1.8       prettyunits_1.1.1 
 [16] colorspace_2.0-0   rvest_0.3.6        haven_2.3.1       
 [19] xfun_0.21          leafem_0.1.3       callr_3.5.1       
 [22] crayon_1.4.0       jsonlite_1.7.2     lme4_1.1-26       
 [25] glue_1.4.2         stars_0.4-3        gtable_0.3.0      
 [28] webshot_0.5.2      car_3.0-10         pkgbuild_1.2.0    
 [31] abind_1.4-5        DBI_1.1.0          Rcpp_1.0.5        
 [34] viridisLite_0.3.0  gridtext_0.1.4     units_0.6-7       
 [37] foreign_0.8-71     htmlwidgets_1.5.3  httr_1.4.2        
 [40] ellipsis_0.3.1     pkgconfig_2.0.3    XML_3.99-0.3      
 [43] dbplyr_2.0.0       labeling_0.4.2     tidyselect_1.1.0  
 [46] rlang_0.4.10       later_1.1.0.1      tmaptools_3.1     
 [49] munsell_0.5.0      cellranger_1.1.0   tools_3.6.3       
 [52] cli_2.3.0          generics_0.1.0     broom_0.7.2       
 [55] evaluate_0.14      yaml_2.2.1         processx_3.4.5    
 [58] leafsync_0.1.0     fs_1.5.0           zip_2.1.1         
 [61] nlme_3.1-150       xml2_1.3.2         compiler_3.6.3    
 [64] rstudioapi_0.13    curl_4.3           png_0.1-7         
 [67] e1071_1.7-4        testthat_3.0.1     ggsignif_0.6.0    
 [70] reprex_0.3.0       statmod_1.4.35     stringi_1.5.3     
 [73] ps_1.5.0           desc_1.2.0         lattice_0.20-41   
 [76] Matrix_1.2-18      nloptr_1.2.2.2     classInt_0.4-3    
 [79] vctrs_0.3.6        pillar_1.4.7       lifecycle_0.2.0   
 [82] data.table_1.13.2  httpuv_1.5.5       R6_2.5.0          
 [85] promises_1.1.1     KernSmooth_2.23-18 rio_0.5.16        
 [88] sessioninfo_1.1.1  codetools_0.2-16   dichromat_2.0-0   
 [91] boot_1.3-25        MASS_7.3-53        assertthat_0.2.1  
 [94] pkgload_1.1.0      rprojroot_2.0.2    withr_2.4.1       
 [97] mgcv_1.8-33        parallel_3.6.3     hms_1.0.0         
[100] grid_3.6.3         minqa_1.2.4        class_7.3-17      
[103] carData_3.0-4      git2r_0.27.1       base64enc_0.1-3