create a reference to built-in data
ref := Reference(id)
string; identifier of the data set, which can be either Country or GeoNames
row index or list of row indices, where each row index is a string, range, or integer
column index or list of column indices, where each column index is a string, name, range, or integer
boolean expression or list of boolean expressions
The Reference command creates a reference to a built-in data set (that is, a country or city data set that comes with Maple).
The reference object retrieves data only when necessary, and caches data retrieved from non-local sources.
Reference objects can be created without this command with DataSets[Search] or DataSets[InsertSearchBox].
Time series data, including Quandl references, inside a built-in data reference will be displayed in a condensed form, showing only that it is a time series and its newest value. Other data types are displayed as normal.
A reference object ref can be indexed to get a new reference representing a subset of the data, or just one entry in the data set.
A single entry from the data set is returned if and only if the row index is a string or integer, and the column index is a string, name, or integer.
Every other calling sequence will return a reference object.
Rows indices strings, integers, or ranges.
A string will select the row whose name equals that string. Row names are always unique within a data set.
Integers and ranges work similarly to indexing a Matrix, where positive integers or endpoints start at the first row and counts up to later rows, and negative integers or endpoints start at the last row and counts down to earlier rows.
Missing start and end endpoints in a range will be interpreted as 1 and −1, respectively.
The ordering of the rows is not guaranteed. So using integers or ranges may not always select the same rows, even if two references contains the same set of rows.
Multiple row indices may be combined with a list to select the union of the rows selected by the individual indices. But note that selecting the same row more than once will result in an error.
Columns indices are strings, names, integers, or ranges.
A string or name will select the column whose name equals that string or name converted to a string. Column names are always unique within a data set.
The first column, which uniquely identifies each row, will remain the first column even if it does not appear among the indices. If the first column exists among the indices, it must be the first one.
Integers and ranges start from the second column, but otherwise works the same way as row indices. The first column cannot be selected with integers or ranges.
The ordering of the columns is not guaranteed except the row name column, which will always be the first column.
Multiple column indices may also be combined in the same way as row indices, and selecting the same column more than once will result in an error.
The first column in the Country data set is always the Name column, and the first column in the GeoNames data set is always the GeoNamesid column.
A second method to select rows is to filter by the values in the rows with a boolean expression or a list of boolean expressions.
The indeterminants in each boolean expression must be the names of the columns, as Maple names.
For each row, the indeterminants are substituted for the value at the corresponding column and at that row. If the boolean expression or the conjunction of the list of boolean expressions is satisfied, then that row is retained. Otherwise, that row is removed.
The newest value will be used for time series data. Other data are used normally.
Indexing can take a long time if the resulting data set contains a large number of rows.
Create a reference to a data set with all the countries in the world.
ref := Reference("Builtin", "Country");
ref≔Country (Name)CO2 EmissionsCPI Change?(124 more)AfghanistanTimeSeries
Create the same reference with a different calling sequence.
Country (Name)CO2 EmissionsCPI Change?(124 more)AfghanistanTimeSeries
Select a subset of the data with the index operator.
Country (Name)CPI ChangeChild MortalityCurrency CodeAlbaniaTimeSeries
Country (Name)CO2 EmissionsChild MortalityCanadaTimeSeries
ref[["USA", 5], [1, 3..4]];
Country (Name)CO2 EmissionsChild MortalityCurrency CodeAntigua and BarbudaTimeSeries
Select just one entry in the data set.
ref["Canada", `CPI Change`];
Country (Name)CPI ChangeCanadaTimeSeries
Convert to a Matrix.
convert(ref["Canada", [1,3]], 'Matrix');
CanadaData setCO2 emissions (kt) - CanadaQuandl WWDI/CAN_EN_ATM_CO2E_KTup to 65 rows (annual), 1 column1950-12-31 - 2014-12-31Data setMortality rate, under-5 (per 1,000 live births) - CanadaQuandl WWDI/CAN_SH_DYN_MORTup to 68 rows (annual), 1 column1950-12-31 - 2017-12-31
Using boolean expressions to filter.
ref2 := ref[1..5, ["CPI Change", "CO2 Emissions"]];
ref2≔Country (Name)CPI ChangeCO2 EmissionsAfghanistanTimeSeries
ref2[`CO2 Emissions` > 5000];
Country (Name)CPI ChangeCO2 EmissionsAfghanistanTimeSeries
Create a reference to the GeoNames data set.
refg≔Geonames (GeoNamesid)NameType?(7 more)?Boneh-ye Mehdisection of populated place??Lab Sefidlocality??Gorizilocality?????(1155858 more)
Search for Waterloo in Canada.
Geonames (GeoNamesid)NameType?(7 more)?Waterloopopulated place??Waterloopopulated place?
The DataSets[Builtin][Reference] command was introduced in Maple 2015.
For more information on Maple 2015 changes, see Updates in Maple 2015.
Download Help Document
What kind of issue would you like to report? (Optional)