Mini Project 1 (Geo)
Data
Here we load a simplified and reduced version of the AidData dataset. You are free to change this code as you wish. If you don't want to preprocess your data on Observable, then you can do the preprocessing using whatever languages or tools you'd like and then upload your preprocessed data to Observable.
The dataset contains the following columns:
yearDate: year of the commitment as a Date object
yearInt: year of the commitment as an integer
donor: country providing the financial resource
recipient: country receiving the financial resource
amount: the total amount of financial resources provided
purpose: the purpose of the transaction
Questions
Your goal is to create 3 independent visualizations of the same data set, each one with the intent of answering the questions stated below. For each numbered visualization, you should be able to create a data visualization that answers all of the questions specified. These are the 3 visualizations you should create:
Visualization 1: How do the countries compare in terms of how much they receive and donate? Are there countries that donate much more than they receive or receive much more than they donate?
Visualization 2: Do the countries that mostly receive or mostly donate tend to cluster around specific geographical areas of the world? Are there neighboring countries that have radically different patterns in terms of how much they receive vs. how much they donate?
[OPTIONAL / EXTRA POINTS] Visualization 3: Are there any major differences in how the top 5 most frequent purposes of disbursements (across all countries) distribute geographically in terms of countries that receive donations? Are there countries that tend to receive more of certain types of donations than others? (Note: it would be more interesting to look at the top 5 purposes locally, for each individual country but visualizing the results may be even harder. If you want to try out a solution for this harder case it would be nice to see it).
For each visualization add a description of your thought process and why you think your solution is appropriate and effective.
Note it is okay to submit more than one solution for a given visualization problem if you think there are some competing solutions that work well. When you do that, make sure to compare the solutions by commenting on their advantages and disadvantages.
Remember
The questions above are a very useful tool for you to verify whether you are producing a good solution or not. As you go about solving this exercise you can use the questions above as an evaluation tool in two main ways:
Verify that you can indeed answer the questions with your visualization. If you can’t fully answer the questions, it means your solution has some problems.
Compare multiple solutions to the same problem and ask yourself: “which one makes it easier for me to answer these questions?”, where easier may mean, more accurately, with less effort or faster.
Instructions
Your coded solutions must use D3. Other visualization libraries are not allowed.
You should feel free to process and transform the data any way you deem relevant and use any tool you prefer for data processing. Data transformation does not necessarily have to be in JavaScript nor within Observable. It’s ok to pre-process the data and then load it in Observable if you prefer.