Package 'NSO1212'

Title: 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 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.
Authors: Makhgal Ganbold [aut, cre]
Maintainer: Makhgal Ganbold <[email protected]>
License: GPL-3
Version: 1.4.0
Built: 2025-02-12 02:39:07 UTC
Source: https://github.com/makhgal-ganbold/nso1212

Help Index


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 try? See details.

timeout

positive numeric or Inf: The number of seconds to wait for a response from the NSO server. Can not be less than 1 ms or 0.001 s.

na.rm

logical: If TRUE, it removes empty rows in a data frame which is result of this function.

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 try? See details.

timeout

positive numeric or Inf: The number of seconds to wait for a response from the NSO server. Can not be less than 1 ms or 0.001 s.

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 try? See details.

timeout

positive numeric or Inf: The number of seconds to wait for a response from the NSO server. Can not be less than 1 ms or 0.001 s.

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 try? See details.

timeout

positive numeric or Inf: The number of seconds to wait for a response from the NSO server. Can not be less than 1 ms or 0.001 s.

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 argument PERIOD 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 try? See details.

timeout

positive numeric or Inf: The number of seconds to wait for a response from the NSO server. Can not be less than 1 ms or 0.001 s.

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)
}

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