Title: | National Statistical Office of Mongolia's Open Data API Handler |
Version: | 1.4.0 |
Date: | 2021-09-29 |
Description: | National Statistical Office of Mongolia (NSO) is the national statistical service and an organization of Mongolian government. NSO provides open access to official data via its API http://opendata.1212.mn/en/doc. The package NSO1212 has functions for accessing the API service. The functions are compatible with the API v2.0 and get data sets and its detailed informations from the API. |
Maintainer: | Makhgal Ganbold <makhgal@seas.num.edu.mn> |
URL: | https://github.com/galaamn/NSO1212 |
BugReports: | https://github.com/galaamn/NSO1212/issues |
Depends: | R (≥ 3.5.0) |
Imports: | httr, jsonlite |
License: | GPL-3 |
Encoding: | UTF-8 |
ByteCompile: | true |
NeedsCompilation: | no |
RoxygenNote: | 7.1.1 |
Packaged: | 2021-09-29 05:14:43 UTC; galaa |
Author: | Makhgal Ganbold [aut, cre] |
Repository: | CRAN |
Date/Publication: | 2021-09-29 07:10:20 UTC |
National Statistical Office of Mongolia's Open Data API Handler
Description
National Statistical Office of Mongolia (NSO) is the national statistical service and an organization of Mongolian government. NSO provides open access and official data via its open-data API. The package NSO1212 has functions for accessing the API service. The functions are compatible with the API v2.0 and get data-sets or its detailed information from the API.
Author(s)
Makhgal Ganbold, National University of Mongolia
References
http://opendata.1212.mn/en/doc
Brief Information about All Database Tables
Description
Brief information about all available database tables on the open-data API which is supported by National Statistical Office of Mongolia (NSO)
Usage
all_tables(try = FALSE, timeout = Inf, na.rm = FALSE)
Arguments
try |
logical: Should the body of the function be wrapped by the function |
timeout |
positive numeric or |
na.rm |
logical: If |
Details
The NSO server returns "HTTP error 500" frequently. Due to the server error, error handling is supported. if try
is TRUE
, you have to write code with error handling as shown in the example.
Value
A data frame which has brief information of all available database tables if the function is executed without error, but an object of class "try-error" containing the error message, if it fails. The data frame has following structure:
- rownum
Row number
- list_id
Sector number
- tbl_id
Table identification number
- tbl_nm
Table name in Mongolian
- tbl_eng_nm
Table name in English
- unit_id
Unit code
- cd_nm
Unit name in Mongolian
- cd_eng_nm
Unit name in English
- strt_prd
Start date
- end_prd
Finish date
- prd_se
Time frequency
- lst_chn_de
Last update date
References
http://opendata.1212.mn/en/doc/Api/GET-api-Itms
See Also
get_table, get_table_info, get_sector_info
Examples
all.tables <- all_tables(try = TRUE, timeout = 4)
if (!inherits(all.tables, "try-error")) {
str(all.tables)
}
Detailed Information about All Main Sectors
Description
Detailed information about all main sectors, which are major classification of data, on the open-data API which is supported by National Statistical Office of Mongolia (NSO)
Usage
get_sector_info(try = FALSE, timeout = Inf)
Arguments
try |
logical: Should the body of the function be wrapped by the function |
timeout |
positive numeric or |
Details
The NSO server returns "HTTP error 500" frequently. Due to the server error, error handling is supported. if try
is TRUE
, you have to write code with error handling as shown in the example.
Value
A data frame which has sector information if the function is executed without error, but an object of class "try-error" containing the error message, if it fails. The data frame has following structure:
- rownum
Row number
- list_id
Sector identification number
- up_list_id
Sub sector identification number
- list_nm
Sector name in Mongolian
- list_eng_nm
Sector name in English
- isExist
Whether or exist sub-sectors
References
http://opendata.1212.mn/en/doc/Api/GET-api-Sector
See Also
all_tables, get_table, get_table_info, get_subsector_info
Examples
sector_info <- get_sector_info(try = TRUE, timeout = 4)
if (!inherits(sector_info, "try-error")) {
print(sector_info)
}
Detailed Information about a Sub-Sector
Description
Detailed information about a sub-sector, which is minor classification of data, on the open-data API which is supported by National Statistical Office of Mongolia
Usage
get_subsector_info(subid, try = FALSE, timeout = Inf)
Arguments
subid |
character string, Sub-sector identification number |
try |
logical: Should the body of the function be wrapped by the function |
timeout |
positive numeric or |
Details
The NSO server returns "HTTP error 500" frequently. Due to the server error, error handling is supported. if try
is TRUE
, you have to write code with error handling as shown in the example.
Value
A data frame which has sub-sector information if the function is executed without error, but an object of class "try-error" containing the error message, if it fails. The data frame has following structure:
- rownum
Row number
- list_id
Sector identification number
- up_list_id
Sub sector identification number
- list_nm
Sector name in Mongolian
- list_eng_nm
Sector name in English
- isExist
Whether or exist sub-sectors
References
http://opendata.1212.mn/en/doc/Api/GET-api-Sector_subid
See Also
all_tables, get_table, get_table_info, get_sector_info
Examples
subsector_info <- get_subsector_info("976_L05", try = TRUE, timeout = 4)
if (!inherits(subsector_info, "try-error")) {
print(subsector_info)
}
Download a Database Table
Description
It downloads a database table, which contains statistical data, from the open-data API which is supported by National Statistical Office of Mongolia (NSO).
Usage
get_table(
tbl_id,
PERIOD = NULL,
CODE = NULL,
CODE1 = NULL,
CODE2 = NULL,
try = FALSE,
timeout = Inf
)
make_period(start, end = NULL, period = "Y")
Arguments
tbl_id |
character string, Table identification number |
PERIOD |
character vector, Time |
CODE , CODE1 , CODE2 |
character vector, Classification code (age, gender etc) |
try |
logical: Should the main body of the function be wrapped by the function |
timeout |
positive numeric or |
start , end |
Starting and stopping moments of period which has following formats: "YYYY", "YYYYMM", "YYYYMMDD", "YYYYQQ". Notations YYYY, MM, DD and QQ, respectively, indicate year, month, day and quarter of a date. These are written as a number has a leading zero, if necessary. |
period |
One of single characters "Y" (default), "M", "D" and "Q" which represent periods yearly, monthly, daily and quarterly respectively. There is one more value "F" which is supported by the API. However it can not be used for such function due to there is not a fixed rule for this type of periods. |
Details
The NSO server returns "HTTP error 500" frequently. Due to the server error, error handling is supported. if try
is TRUE
, you have to write code with error handling as shown in the example.
Value
A data frame if the function is executed without error, but an object of class "try-error" containing the error message, if it fails. The data frame has following structure:
- TBL_ID
Row number
- Period
Time
- CODE
Classification code
- SCR_MN
Classification name in Mongolian
- SCR_ENG
Classification name in English
- CODE1
Classification code
- SCR_MN1
Classification name in Mongolian
- SCR_ENG1
Classification name in English
- CODE2
Classification code
- SCR_MN2
Classification name in Mongolian
- SCR_ENG2
Classification name in English
- DTVAL_CO
Datum
a character vector which contains an API compatible period.
Functions
-
make_period
: It is used to prepare values for the argumentPERIOD
of the function get_table.
References
http://opendata.1212.mn/en/doc/Api/POST-api-Data
See Also
all_tables, get_table_info, get_sector_info
Examples
nso.data <- get_table(
tbl_id = "DT_NSO_2400_015V2",
PERIOD = make_period(start = "201711", end = "202103", period = "M"),
CODE = c("10", "11"),
CODE1 = "11",
try = TRUE, # to prevent a server error
timeout = 4
)
if (!inherits(nso.data, "try-error")) {
print(nso.data)
}
Detailed Information about a Database Table and Its Classification
Description
Detailed information about a database table and its classification on the open-data API which is supported by National Statistical Office of Mongolia (NSO)
Usage
get_table_info(tbl_id, simplify = FALSE, try = FALSE, timeout = Inf)
Arguments
tbl_id |
character string, Table identification number |
simplify |
logical: Should the result be simplified to a vector and a data frame? |
try |
logical: Should the body of the function be wrapped by the function |
timeout |
positive numeric or |
Details
The NSO server returns "HTTP error 500" frequently. Due to the server error, error handling is supported. if try
is TRUE
, you have to write code with error handling as shown in the example.
Value
A list which contains information about database table and its classification if the function is executed without error, but an object of class "try-error" containing the error message, if it fails. The list has following structure:
- tbl_id
Table identification number
- unit_id
Unit identification number
- unit_nm
Unit name in Mongolia
- unit_eng_nm
Unit name in English
- obj
Table classification:
- obj_var_id
Variable identification
- var_ord_sn
Variable identification number
- field
Field name
- scr_mn
Variable name in Mongolian
- scr_eng
Variable identification
- itm
Variable classification and code:
- itm_id
Classification number
- up_itm_id
Sub-classification
- scr_mn
Classification name in Mongolian
- scr_eng
Classification name in English
if simplify
is TRUE
, an user-friendly result is returned.
References
http://opendata.1212.mn/en/doc/Api/GET-api-Itms-id
See Also
all_tables, get_table, get_sector_info
Examples
# tree shaped result
table_info <- get_table_info("DT_NSO_2400_015V2", try = TRUE,, timeout = 4)
if (!inherits(table_info, "try-error")) {
str(table_info)
}
# tabular result
table_info_simplified <- get_table_info(
"DT_NSO_2400_015V2", simplify = TRUE, try = TRUE, timeout = 4)
if (!inherits(table_info_simplified, "try-error")) {
str(table_info_simplified)
}