World Bank API Access
Sean‘s pick this week is World Bank API Access by Kim9091.
Last year, I blogged about writing your own function signatures for code suggestions in MATLAB. Today, I found my first instance of someone using this in the wild! And on a well documented useful tool to boot.
Kim9091’s World Bank API takes care of making the HTTP requests to get data from the World Bank. But not only that, there’s also a live script that documents the capabilities and provides examples. Let’s give the example a whirl.
% Make the API Connection api = wb; % Fetch 2015 GDP Data gdp2015 = query(api, 'source', '2', 'series', 'NY.GDP.PCAP.CD', ... 'country', 'all', 'time', 'YR2015')
gdp2015 =
struct with fields:
page: 1
pages: 1
per_page: 9999
total: 264
lastupdated: '2019-01-30'
source: [1×1 struct]
The data comes back as a series of nested structs and cells. To make it easier to work with, we’ll convert the struct to a table.
gdp2015 = struct2table(gdp2015.source.data);
Then we’ll remove all of the empty values.
empties = cellfun(@isempty, gdp2015.value); gdp2015 = gdp2015(~empties, :)
gdp2015 =
248×2 table
variable value
____________ ____________
[3×1 struct] [6.4291e+03]
[3×1 struct] [9.8352e+03]
[3×1 struct] [1.2453e+04]
[3×1 struct] [3.2813e+03]
...
Since empty values were not stored as NaNs, the array was a cell. We can now convert it to double by vertically concatenating the value of each cell.
gdp2015.value = vertcat(gdp2015.value{:})
gdp2015 =
248×2 table
variable value
____________ __________
[3×1 struct] 6429.1
[3×1 struct] 9835.2
[3×1 struct] 12453
[3×1 struct] 3281.3
...
And finally a plot.
histogram(gdp2015.value) xlabel('GDP ($US)') ylabel('Count')
Comments
Give it a try and let us know what you think here or leave a comment for Kim9091.
Published with MATLAB® R2019a
- Category:
- Picks


Comments
To leave a comment, please click here to sign in to your MathWorks Account or create a new one.