R/data_download.R
Retrieves specific datasets from Nomis, based on their ID. To
find dataset IDs, use nomis_data_info
. Datasets are retrived
in csv format and parsed with the read_csv
function from the
readr
package into a tibble, with all columns parsed as character
columns.
To find the code options for a given dataset, use
nomis_get_metadata
.
This can be a slow process if querying significant amounts of
data. Guest users are limited to 25,000 rows per query, although
nomisr
identifies queries that will return more than 25,000 rows,
sending individual queries and combining the results of those queries into
a single tibble.
Note the difference between the time
and date
parameters.
The time
and date
parameters should not be used at the same
time. If they are, the function will retrieve data based on the the
date
parameter. If given more than one query, time
will
return all data available between those queries, inclusively, while
date
will only return data for the exact queries specified. So
time=c("first", "latest")
will return all data, while
date=c("first", "latest")
will return only the first and latest
data published.
nomis_get_data(id, time = NULL, date = NULL, geography = NULL, sex = NULL, measures = NULL, additional_queries = NULL, exclude_missing = FALSE, select = NULL)
id | The ID of the dataset to retrieve. |
---|---|
time | Parameter for selecting dates and date ranges. There are two styles of values that can be used to query time. The first is one or more of The second style is to use or a specific date or multiple dates, in the
style of the time variable codelist, which can be found using the
Values for the Defaults to |
date | Parameter for selecting specific dates. There are two styles of values that can be used to query time. The first is one or more of The second style is to use or a specific date or multiple dates, in the
style of the time variable codelist, which can be found using the
Values for the Defaults to |
geography | The code of the geographic area to return data for. If
|
sex | The code for sexes included in the dataset. Accepts a string or
number, or a vector of strings or numbers. There are two different codings used for sex, depending on the dataset. For
datasets using |
measures | The code for the statistical measure(s) to include in the
data. Accepts a single string or number, or a list of strings or numbers.
If |
additional_queries | Any other additional queries to pass to the API.
See https://www.nomisweb.co.uk/api/v01/help for instructions on
query structure. Defaults to |
exclude_missing | If |
select | A character vector of one or more variables to select,
excluding all others. |
A tibble containing the selected dataset. By default, all tibble columns are parsed as characters.
# Return data for each country jobseekers_country <- nomis_get_data(id="NM_1_1", time="latest", geography = "TYPE499", measures=c(20100, 20201), sex=5) tibble::glimpse(jobseekers_country)#> Observations: 70 #> Variables: 34 #> $ DATE <chr> "2018-03", "2018-03", "2018-03", "2018-03", "20... #> $ DATE_NAME <chr> "March 2018", "March 2018", "March 2018", "Marc... #> $ DATE_CODE <chr> "2018-03", "2018-03", "2018-03", "2018-03", "20... #> $ DATE_TYPE <chr> "date", "date", "date", "date", "date", "date",... #> $ DATE_TYPECODE <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0", "0... #> $ DATE_SORTORDER <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0", "0... #> $ GEOGRAPHY <chr> "2092957697", "2092957697", "2092957697", "2092... #> $ GEOGRAPHY_NAME <chr> "United Kingdom", "United Kingdom", "United Kin... #> $ GEOGRAPHY_CODE <chr> "K02000001", "K02000001", "K02000001", "K020000... #> $ GEOGRAPHY_TYPE <chr> "countries", "countries", "countries", "countri... #> $ GEOGRAPHY_TYPECODE <chr> "499", "499", "499", "499", "499", "499", "499"... #> $ GEOGRAPHY_SORTORDER <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0", "0... #> $ SEX <chr> "5", "5", "5", "5", "5", "5", "5", "5", "5", "5... #> $ SEX_NAME <chr> "Male", "Male", "Male", "Male", "Male", "Male",... #> $ SEX_CODE <chr> "5", "5", "5", "5", "5", "5", "5", "5", "5", "5... #> $ SEX_TYPE <chr> "sex", "sex", "sex", "sex", "sex", "sex", "sex"... #> $ SEX_TYPECODE <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0", "0... #> $ SEX_SORTORDER <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0", "0... #> $ ITEM <chr> "1", "1", "2", "2", "3", "3", "4", "4", "9", "9... #> $ ITEM_NAME <chr> "Total claimants", "Total claimants", "Students... #> $ ITEM_CODE <chr> "1", "1", "2", "2", "3", "3", "4", "4", "9", "9... #> $ ITEM_TYPE <chr> "item", "item", "item", "item", "item", "item",... #> $ ITEM_TYPECODE <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0", "0... #> $ ITEM_SORTORDER <chr> "0", "0", "1", "1", "2", "2", "3", "3", "4", "4... #> $ MEASURES <chr> "20100", "20201", "20100", "20201", "20100", "2... #> $ MEASURES_NAME <chr> "Persons claiming JSA", "Workplace-based estima... #> $ OBS_VALUE <chr> "289482", "1.5", NA, NA, NA, NA, NA, NA, NA, NA... #> $ OBS_STATUS <chr> "A", "A", "Q", "Q", "Q", "Q", "Q", "Q", "Q", "Q... #> $ OBS_STATUS_NAME <chr> "Normal Value", "Normal Value", "These figures ... #> $ OBS_CONF <chr> "F", "F", "F", "F", "F", "F", "F", "F", "F", "F... #> $ OBS_CONF_NAME <chr> "Free (free for publication)", "Free (free for ... #> $ URN <chr> "Nm-1d1d32291e0d2092957697d5d1d20100", "Nm-1d1d... #> $ RECORD_OFFSET <chr> "0", "1", "2", "3", "4", "5", "6", "7", "8", "9... #> $ RECORD_COUNT <chr> "70", "70", "70", "70", "70", "70", "70", "70",...# Return data for Wigan jobseekers_wigan <- nomis_get_data(id="NM_1_1", time="latest", geography = "1879048226", measures=c(20100, 20201), sex="5") tibble::glimpse(jobseekers_wigan)#> Observations: 10 #> Variables: 34 #> $ DATE <chr> "2018-03", "2018-03", "2018-03", "2018-03", "20... #> $ DATE_NAME <chr> "March 2018", "March 2018", "March 2018", "Marc... #> $ DATE_CODE <chr> "2018-03", "2018-03", "2018-03", "2018-03", "20... #> $ DATE_TYPE <chr> "date", "date", "date", "date", "date", "date",... #> $ DATE_TYPECODE <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0", "0" #> $ DATE_SORTORDER <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0", "0" #> $ GEOGRAPHY <chr> "1879048226", "1879048226", "1879048226", "1879... #> $ GEOGRAPHY_NAME <chr> "Wigan", "Wigan", "Wigan", "Wigan", "Wigan", "W... #> $ GEOGRAPHY_CODE <chr> "E08000010", "E08000010", "E08000010", "E080000... #> $ GEOGRAPHY_TYPE <chr> "local authorities: district / unitary (as of A... #> $ GEOGRAPHY_TYPECODE <chr> "448", "448", "448", "448", "448", "448", "448"... #> $ GEOGRAPHY_SORTORDER <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0", "0" #> $ SEX <chr> "5", "5", "5", "5", "5", "5", "5", "5", "5", "5" #> $ SEX_NAME <chr> "Male", "Male", "Male", "Male", "Male", "Male",... #> $ SEX_CODE <chr> "5", "5", "5", "5", "5", "5", "5", "5", "5", "5" #> $ SEX_TYPE <chr> "sex", "sex", "sex", "sex", "sex", "sex", "sex"... #> $ SEX_TYPECODE <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0", "0" #> $ SEX_SORTORDER <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0", "0" #> $ ITEM <chr> "1", "1", "2", "2", "3", "3", "4", "4", "9", "9" #> $ ITEM_NAME <chr> "Total claimants", "Total claimants", "Students... #> $ ITEM_CODE <chr> "1", "1", "2", "2", "3", "3", "4", "4", "9", "9" #> $ ITEM_TYPE <chr> "item", "item", "item", "item", "item", "item",... #> $ ITEM_TYPECODE <chr> "0", "0", "0", "0", "0", "0", "0", "0", "0", "0" #> $ ITEM_SORTORDER <chr> "0", "0", "1", "1", "2", "2", "3", "3", "4", "4" #> $ MEASURES <chr> "20100", "20201", "20100", "20201", "20100", "2... #> $ MEASURES_NAME <chr> "Persons claiming JSA", "Workplace-based estima... #> $ OBS_VALUE <chr> "1879", NA, NA, NA, NA, NA, NA, NA, NA, NA #> $ OBS_STATUS <chr> "A", "Q", "Q", "Q", "Q", "Q", "Q", "Q", "Q", "Q" #> $ OBS_STATUS_NAME <chr> "Normal Value", "These figures are missing.", "... #> $ OBS_CONF <chr> "F", "F", "F", "F", "F", "F", "F", "F", "F", "F" #> $ OBS_CONF_NAME <chr> "Free (free for publication)", "Free (free for ... #> $ URN <chr> "Nm-1d1d32291e0d1879048226d5d1d20100", "Nm-1d1d... #> $ RECORD_OFFSET <chr> "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" #> $ RECORD_COUNT <chr> "10", "10", "10", "10", "10", "10", "10", "10",...# annual population survey - regional - employment by occupation emp_by_occupation <- nomis_get_data(id="NM_168_1", time="latest", geography = "2013265925", sex="0", select = c("geography_code", "C_OCCPUK11H_0_NAME", "obs_vAlUE")) tibble::glimpse(emp_by_occupation)#> Observations: 1,976 #> Variables: 3 #> $ GEOGRAPHY_CODE <chr> "E12000005", "E12000005", "E12000005", "E1200000... #> $ C_OCCPUK11H_0_NAME <chr> "Total", "Total", "Total", "Total", "1 Managers,... #> $ OBS_VALUE <chr> "2681200", "52700", "100.0", NA, "283400", "1710...