Giter Site home page Giter Site logo

ropensci / nomisr Goto Github PK

View Code? Open in Web Editor NEW
44.0 6.0 12.0 3.46 MB

Access UK official statistics from the Nomis database through R.

Home Page: https://docs.ropensci.org/nomisr

License: Other

R 98.31% TeX 1.69%
r geographic-data census-data uk demography api-client rstats officialstatistics official-statistics national-statistics

nomisr's Introduction

nomisr

License: MIT CRAN_Status_Badge GitHub tag R build status Coverage Status ropensci DOI DOI

nomisr is for accessing UK official statistics from the Nomis database through R. Nomis contains data from the Census, the Labour Force Survey, DWP benefit statistics and other economic and demographic data, and is maintained on behalf of the Office for National Statistics by the University of Durham.

The nomisr package provides functions to find what data is available, the variables and query options for different datasets and a function for downloading data. nomisr returns data in tibble format. Most of the data available through nomisr is based around statistical geographies, with a handful of exceptions.

The package is for demographers, economists, geographers, public health researchers and any other researchers who are interested in geographic factors. The package aims to aid reproducibility, reduce the need to manually download area profiles, and allow easy linking of different datasets covering the same geographic area.

Installation

nomisr is available on CRAN:

install.packages("nomisr")

You can install the development version nomisr from github with:

# install.packages("devtools")
devtools::install_github("ropensci/nomisr")

Using nomisr

nomisr contains functions to search for datasets, identify the query options for different datasets and retrieve data from queries, all done with tibbles, to take advantage of how tibble manages list-columns. The use of metadata queries, rather than simply downloading all available data, is useful to avoid overwhelming the rate limits of the API.

There are nomisr vignette introduction has details on all available functions and basic demonstrations of their use.

The example below demonstrates a workflow to retrieve the latest data on Jobseeker’s Allowance with rates and proportions, on a national level, with all male claimants and workforce.

 library(nomisr)
 jobseekers_search <- nomis_search(name = "*Jobseeker*")
 
 tibble::glimpse(jobseekers_search)
#> Rows: 17
#> Columns: 14
#> $ agencyid                             <chr> "NOMIS", "NOMIS", "NOMIS", "NOMIS…
#> $ id                                   <chr> "NM_1_1", "NM_4_1", "NM_8_1", "NM…
#> $ uri                                  <chr> "Nm-1d1", "Nm-4d1", "Nm-8d1", "Nm…
#> $ version                              <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, …
#> $ annotations.annotation               <list> [<data.frame[10 x 2]>], [<data.f…
#> $ components.attribute                 <list> [<data.frame[7 x 4]>], [<data.fr…
#> $ components.dimension                 <list> [<data.frame[5 x 3]>], [<data.fr…
#> $ components.primarymeasure.conceptref <chr> "OBS_VALUE", "OBS_VALUE", "OBS_VA…
#> $ components.timedimension.codelist    <chr> "CL_1_1_TIME", "CL_4_1_TIME", "CL…
#> $ components.timedimension.conceptref  <chr> "TIME", "TIME", "TIME", "TIME", "…
#> $ description.value                    <chr> "Records the number of people cla…
#> $ description.lang                     <chr> "en", "en", NA, "en", "en", "en",…
#> $ name.value                           <chr> "Jobseeker's Allowance with rates…
#> $ name.lang                            <chr> "en", "en", "en", "en", "en", "en…

 jobseekers_measures <- nomis_get_metadata("NM_1_1", "measures")
 
 tibble::glimpse(jobseekers_measures)
#> Rows: 4
#> Columns: 3
#> $ id             <chr> "20100", "20201", "20202", "20203"
#> $ label.en       <chr> "claimants", "workforce", "active", "residence"
#> $ description.en <chr> "claimants", "workforce", "active", "residence"
 
 jobseekers_geography <- nomis_get_metadata("NM_1_1", "geography", "TYPE")
 
 tail(jobseekers_geography)
#> # A tibble: 6 × 3
#>   id      label.en                                           description.en     
#>   <chr>   <chr>                                              <chr>              
#> 1 TYPE490 government office regions tec / lec based          government office …
#> 2 TYPE491 government office regions (former inc. Merseyside) government office …
#> 3 TYPE492 standard statistical regions                       standard statistic…
#> 4 TYPE496 pre-1996 local authority districts                 pre-1996 local aut…
#> 5 TYPE498 pre-1996 counties / scottish regions               pre-1996 counties …
#> 6 TYPE499 countries                                          countries
 
 jobseekers_sex <- nomis_get_metadata("NM_1_1", "sex", "TYPE")
 
 tibble::glimpse(jobseekers_sex)
#> Rows: 3
#> Columns: 4
#> $ id             <chr> "5", "6", "7"
#> $ parentCode     <chr> "7", "7", NA
#> $ label.en       <chr> "Male", "Female", "Total"
#> $ description.en <chr> "Male", "Female", "Total"
 
 z <- nomis_get_data(id = "NM_1_1", time = "latest", geography = "TYPE499",
                     measures=c(20100, 20201), sex=5)
#> No encoding supplied: defaulting to UTF-8.
 
 tibble::glimpse(z)
#> Rows: 70
#> Columns: 34
#> $ DATE                <chr> "2021-12", "2021-12", "2021-12", "2021-12", "2021-…
#> $ DATE_NAME           <chr> "December 2021", "December 2021", "December 2021",…
#> $ DATE_CODE           <chr> "2021-12", "2021-12", "2021-12", "2021-12", "2021-…
#> $ DATE_TYPE           <chr> "date", "date", "date", "date", "date", "date", "d…
#> $ DATE_TYPECODE       <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ DATE_SORTORDER      <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ GEOGRAPHY           <dbl> 2092957697, 2092957697, 2092957697, 2092957697, 20…
#> $ GEOGRAPHY_NAME      <chr> "United Kingdom", "United Kingdom", "United Kingdo…
#> $ GEOGRAPHY_CODE      <chr> "K02000001", "K02000001", "K02000001", "K02000001"…
#> $ GEOGRAPHY_TYPE      <chr> "countries", "countries", "countries", "countries"…
#> $ GEOGRAPHY_TYPECODE  <dbl> 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, …
#> $ GEOGRAPHY_SORTORDER <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1,…
#> $ SEX                 <dbl> 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,…
#> $ SEX_NAME            <chr> "Male", "Male", "Male", "Male", "Male", "Male", "M…
#> $ SEX_CODE            <dbl> 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,…
#> $ SEX_TYPE            <chr> "sex", "sex", "sex", "sex", "sex", "sex", "sex", "…
#> $ SEX_TYPECODE        <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ SEX_SORTORDER       <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ ITEM                <dbl> 1, 1, 2, 2, 3, 3, 4, 4, 9, 9, 1, 1, 2, 2, 3, 3, 4,…
#> $ ITEM_NAME           <chr> "Total claimants", "Total claimants", "Students on…
#> $ ITEM_CODE           <dbl> 1, 1, 2, 2, 3, 3, 4, 4, 9, 9, 1, 1, 2, 2, 3, 3, 4,…
#> $ ITEM_TYPE           <chr> "item", "item", "item", "item", "item", "item", "i…
#> $ ITEM_TYPECODE       <dbl> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,…
#> $ ITEM_SORTORDER      <dbl> 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 0, 0, 1, 1, 2, 2, 3,…
#> $ MEASURES            <dbl> 20100, 20201, 20100, 20201, 20100, 20201, 20100, 2…
#> $ MEASURES_NAME       <chr> "Persons claiming JSA", "Workplace-based estimates…
#> $ OBS_VALUE           <dbl> 73931.0, 0.3, NA, NA, NA, NA, NA, NA, NA, NA, 6791…
#> $ OBS_STATUS          <chr> "A", "A", "Q", "Q", "Q", "Q", "Q", "Q", "Q", "Q", …
#> $ OBS_STATUS_NAME     <chr> "Normal Value", "Normal Value", "These figures are…
#> $ OBS_CONF            <lgl> FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, F…
#> $ OBS_CONF_NAME       <chr> "Free (free for publication)", "Free (free for pub…
#> $ URN                 <chr> "Nm-1d1d32348e0d2092957697d5d1d20100", "Nm-1d1d323…
#> $ RECORD_OFFSET       <dbl> 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, …
#> $ RECORD_COUNT        <dbl> 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70…

There is a lot of data available through Nomis, and there are some limits to the amount of data that can be retrieved within a certain period of time, although those are not published. For more details, see the full API documentation from Nomis. Full package documentation is available at docs.evanodell.com/nomisr.

Meta

Bug reports, suggestions, and code contributions are all welcome. Please see CONTRIBUTING.md for details.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

Please note that this project is not affiliated with the Office for National Statistics or the University of Durham (who run Nomis on behalf of the Office for National Statistics).

Please use the reference below when citing nomisr, or use citation(package = 'nomisr').

Odell, (2018). nomisr: Access ‘Nomis’ UK Labour Market Data. Journal of Open Source Software, 3(27), 859, doi: 10.21105/joss.00859.

A BibTeX entry for LaTeX users is

@Article{odell2018,
    title = {{nomisr}: Access Nomis UK Labour Market Data With R},
    volume = {3},
    doi = {10.21105/joss.00859},
    number = {27},
    journal = {The Journal of Open Source Software},
    year = {2018},
    month = {July},
    pages = {859},
    author = {Evan Odell},
  }

License: MIT

ropensci_footer

nomisr's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

nomisr's Issues

`as.tibble()` is deprecated as of tibble 2.0.0.

Hi,

Thanks for the package, it's very useful. I'm a new R user and noticed that when I try to use the nomis_codelist() function it says that as.tibble() is deprecated as of tibble 2.0.0.

This is what I ran:
codes <- nomis_codelist('NM_1608_1', 'geography')

And this is the error message:
as.tibble() is deprecated as of tibble 2.0.0.
Please use as_tibble() instead.
The signature and semantics have changed, see ?as_tibble.

Thank you!
Kerry

Is this package still being actively developed?

Hi,
We're about to look at automating a number of reports using the NomisR package. What is the status of this package? I note that it is not referenced on the NOMIS site in their api documentation. Is this because it is unofficial?

Trouble downloading data

Hello Evan. Thanks for the excellent R library.

I'm trying to download commute data, for London, by MSOA, by mode of transport. Through doing this ...

workplace <- nomis_search(keywords = "*workplace*")

... I believe the table ID I want is 'NM_1208_1'. After that, I'm a bit stumped though. Could you provide any tips or ideas please?

nomis_get_metadata("NM_1208_1", "measures")

# A tibble: 1 x 3
  id    label.en description.en
  <chr> <chr>    <chr>         
1 20100 value    value 

Geography?

nomis_get_metadata("NM_1208_1", "geography", "TYPE")
# A tibble: 0 x 0

The resulting data will be quite large, so I expect I might have to download it Borough by Borough in a loop or something, but I can't get that far to start doing that yet.

Thanks,

JimShady

Errors when using ONS codes for some geographic areas

There seems to be an issue with nomisr not returning data for certain types of geographic area.

I've been using ONS 9-digit codes to specify 'geography' within the nomis_get_data function (e.g. E92000001 for England) and this normally works great. But for certain geographic areas, it returns an error message.

For example, using the 9-digit code for the Abberton built-up area...

nomis_get_data(id = "NM_2010_1", geography = "E34003718", date = "latest")

... results in the following error message:

Error in if (as.numeric(first_df$RECORD_COUNT)[1] >= max_length) { :
missing value where TRUE/FALSE needed
In addition: Warning message:
Unknown or uninitialised column: RECORD_COUNT.

As far as I can tell this happens for all built-up areas, built-up area subdivisions, wards (post-2011), 'major towns and cities', CCGs and local health boards. I've been looking at this mostly using Nomis' small area based population estimates, but it looks like the the same issue applies with census tables as well.

Thanks for developing nomisr - it's extremely useful.

'nomis_data_info' function times out

Hi I am getting the following error when trying to use nomisr at work (Birmingham City Council)

datasets <- nomis_data_info()
Error in curl::curl_fetch_memory(url, handle = handle) :
Timeout was reached: Connection timed out after 10000 milliseconds

My code works OK at home on my own MacBook.

Our outsourced ICT help is of little use (they dont know anything about R, and are unwilling to find out) so I was hoping you may have a clue as to how I can get this fixed?

cheers

Ralph

Rounded values when pulling through NM_31_1

Hi,
I'm pulling through some mid-year population estimates using this:

mid_year_pop_estimates_raw <- nomis_get_data("NM_31_1", geography = "TYPE431", date = 2017)

The values in the OBS_VALUE column are rounded to the nearest 00 (rounded) when compared to the raw data downloaded via nomis. I've only had this issue with NM_31_1 so far, and it appears to be the case for others years I've pulled through (2018 and 2019)

Many thanks,
Lydia

Issue with nome_get_data

Hi I'm getting the following error. It was working before.... The other functions work i.e. get_metadata. Is it an issue with the API itself?

jobseekers_country <- nomis_get_data(id = "NM_1_1", time = "latest",
geography = "TYPE499",
measures = c(20100, 20201), sex = 5)

Nomis API did not return data in required CSV format

nomis_get_data appears to have stopped working

nomis_get_data() was previously working fine for me but now throws up an error message. E.g.

nomis_get_data(id = "NM_893_1", time = "latest", geography = "TYPE266")

Recently, no problem when I run this. But now I get an error message (below). I've tried different requests to no avail.

Other commands (e.g. nomis_get_metadata appear to be working so this appears to be a bug rather than an issue with the API.

It is likely that you have been automatically rate limited by the Nomis API.
You can make smaller data requests, or try again later.

Here's the original error message:
Error in readr::read_csv(x, locale = readr::locale(encoding = encoding), : unused argument (show_col_types = FALSE)

Error: $ operator is invalid for atomic vectors```

Better error message when querying non-existent parameters

If you include non-existent parameters in some calls to nomis_get_data you get this unclear error message:

Error in guess_header_(datasource, tokenizer, locale): Cannot read file /private/var/folders/l4/pyxq17vj7rzcrvzr2dv032hm0000gn/T/RtmpC1bNsN/file12f564805602: Invalid argument

Error: $ operator is invalid for atomic vectors

Need to refine this.

Use show_col_types = FALSE in read_csv calls

Hi,

The read_csv function now reports column types by default. You can turn this off with the argument show_col_types = FALSE. Can I suggest that you turn it off so that the output while downloading data is less verbose?

Error with SIC 5-digit 2007 concept

Hi there,

Great package so thanks for making this.

Unfortunately I have run into an issue trying to pull the industry codes for certain datasets. My R code for this has worked previously, and still seems to work for some datasets that involve industry-level data, but not for others. It appears to be an issue that is specific to the 5-digit SIC 2007 industry category because I get this error message when checking the industry concept for NM_189_1 and NM_187_1, but not for earlier industry classifications such as in NM_187_1. Other concepts from these datasets return the correct info no problem. Copy of the error message recieved is below.
nomisr

Many thanks,

Stephen

nomis_get_data

measures_query <- ifelse(is.null(measures), paste0("&MEASURES=", 
        paste0(measures, collapse = ",")), "")

should be !is.null(measures), currently the nomis_get_data function ignores the measures option.

Sorry am not experienced in git so cannot figure out how to add this change myself

Suppression rules in nomisr v nomis web

Are there different supression rules that are being applied in nomisr compared to nomis web? For the following indicator: % Unemployed with health conditions or illnesses lasting more than 12 months (aged 16+) there are some numerators missing for areas but in nomis web they are available.

For example for Bury Jan-Dec 2018
Nomis web has the following information:
Numerator 1,200
Denominator 48,900
Percentage 2.5

Using the following R code in nomisr:
library(dplyr)
library(nomisr)

Bury_data <- nomis_get_data(id = "NM_17_5", date = "previousMINUS2", geography = "1946157082", variable = 1716, measures = c(20599, 21001, 21002)) %>%
select(DATE_NAME, GEOGRAPHY, GEOGRAPHY_NAME, GEOGRAPHY_CODE, VARIABLE_NAME, MEASURES_NAME, OBS_VALUE)

Numerator NA
Denominator 48,900
Percentage NA

Given that in nomisr the data is showing for the following associated indicators:
% In employment with health conditions or illnesses lasting more than 12 months (aged 16+)
% Inactive with health conditions or illnesses lasting more than 12 months (aged 16+)

It would mean you could calcuate the missing numerator and percentage for the unemployed

If you could help clarify this, it would be really helpful - thank you.

Data appears to be missing for certain indicators using nomisr but available to download through nomis web - is there a reason for this?

For example the numerators are missing for main industrial sectors using following code:

library(dplyr)
library(nomisr)
aps_vars <- nomis_get_metadata("NM_17_5", concept = "variable")

Define geography:

GM_geos <- c(1946157081, 1946157082, 1946157083, 1946157084, 1946157085, 1946157086, 1946157087, 1946157088, 1946157089, 1946157090, 1853882369, 2013265922, 2092957699)

Main industrial sectors

industry_vars <- aps_vars %>%
mutate(industry = if_else(id == 226, 1,
if_else(id == 227, 1,
if_else(id == 228, 1,
if_else(id == 229, 1,
if_else(id == 230, 1,
if_else(id == 231, 1,
if_else(id == 232, 1,
if_else(id == 233, 1,
if_else(id == 234, 1,
if_else(id == 235, 1,0 ))))))))))) %>%
filter(industry == 1) %>%
select(id) %>%
pull(id)

industry_data <- nomis_get_data(id = "NM_17_5", date = "previousMINUS2", geography = GM_geos, variable = industry_vars, measures = c(20599, 21001, 21002)) %>%
select(DATE_NAME, GEOGRAPHY, GEOGRAPHY_NAME, GEOGRAPHY_CODE, VARIABLE_NAME, MEASURES_NAME, OBS_VALUE)

This code only brings back denominator data

Does 'select' work properly?

Hi again,

This returns some data

 test <- nomis_get_data(id = "NM_1208_1",
                                   time = "latest",
                                   USUAL_RESIDENCE = "TYPE499",
                                   PLACE_OF_WORK = "TYPE499",
                                  TRANSPORT_POWPEW11 = "2")

names(test)

 [1] "DATE"                         "DATE_NAME"                    "DATE_CODE"                   
 [4] "DATE_TYPE"                    "DATE_TYPECODE"                "DATE_SORTORDER"              
 [7] "USUAL_RESIDENCE"              "USUAL_RESIDENCE_NAME"         "USUAL_RESIDENCE_CODE"        
[10] "USUAL_RESIDENCE_TYPE"         "USUAL_RESIDENCE_TYPECODE"     "USUAL_RESIDENCE_SORTORDER"   
[13] "PLACE_OF_WORK"                "PLACE_OF_WORK_NAME"           "PLACE_OF_WORK_CODE"          
[16] "PLACE_OF_WORK_TYPE"           "PLACE_OF_WORK_TYPECODE"       "PLACE_OF_WORK_SORTORDER"     
[19] "TRANSPORT_POWPEW11"           "TRANSPORT_POWPEW11_NAME"      "TRANSPORT_POWPEW11_CODE"     
[22] "TRANSPORT_POWPEW11_TYPE"      "TRANSPORT_POWPEW11_TYPECODE"  "TRANSPORT_POWPEW11_SORTORDER"
[25] "MEASURES"                     "MEASURES_NAME"                "OBS_VALUE"                   
[28] "OBS_STATUS"                   "OBS_STATUS_NAME"              "OBS_CONF"                    
[31] "OBS_CONF_NAME"                "URN"                          "RECORD_OFFSET"               
[34] "RECORD_COUNT"

So I expected to be able to do this:

 test <- nomis_get_data(id = "NM_1208_1",
                                   time = "latest",
                                   USUAL_RESIDENCE = "TYPE499",
                                   PLACE_OF_WORK = "TYPE499",
                                  TRANSPORT_POWPEW11 = "2",
                                  select = c("USUAL_RESIDENCE_NAME", "PLACE_OF_WORK_NAME"))

But it returns no results. Your example 'select' works in the reference documentation, but not mine, and I can't see any fundamental difference between the two. Grateful for thoughts ...

Thanks, Jim

vignette in 0.4.4 version fails with dplyr 1.0.8

We're about to release dplyr 1.0.8 and there seems to be a issue with the released version of nomisr . It is however apparently fixed with the dev version.

# nomisr

<details>

* Version: 0.4.4
* GitHub: https://github.com/ropensci/nomisr
* Source code: https://github.com/cran/nomisr
* Date/Publication: 2021-01-23 17:20:02 UTC
* Number of recursive dependencies: 87

Run `cloud_details(, "nomisr")` for more info

</details>

## Newly broken

*   checking re-building of vignette outputs ... WARNING
    ```
    Error(s) in re-building vignettes:
      ...
    --- re-building ‘Introduction-to-work-and-health-nomis-indicators.Rmd’ using rmarkdown
    Quitting from lines 194-365 (Introduction-to-work-and-health-nomis-indicators.Rmd) 
    Error: processing vignette 'Introduction-to-work-and-health-nomis-indicators.Rmd' failed with diagnostics:
    `desc()` must be called with exactly one argument.
    --- failed re-building ‘Introduction-to-work-and-health-nomis-indicators.Rmd’
    
    --- re-building ‘introduction.Rmd’ using rmarkdown
    --- finished re-building ‘introduction.Rmd’
    
    SUMMARY: processing the following file failed:
      ‘Introduction-to-work-and-health-nomis-indicators.Rmd’
    
    Error: Vignette re-building failed.
    Execution halted
    ```

Appveyor badge and webhook

👋 @evanodell!

  • Could you please update Appveyor badge in the README so that it points to https://ci.appveyor.com/project/evanodell/nomisr ? We no longer transfer Appveyor builds at the moment because it seems to lead to more problems.

  • That said I see your webhook is broken (kind of problems we hope to avoid more :-) ), which happened randomly to repos of mine as well. Hooks (I see there might be an issue with the Zenodo one as well?), Appveyor hook You'll see deliveries have consistently failed in the recent past. Please email [email protected] about this and mention this info about the latest delivery

    • X-GitHub-Delivery: 10b1c890-44b6-11e8-813f-3d20e965dcfa
    • 2018-04-20 18:15:38

Thanks!

nomis_get_data error - Can't combine `RECORD_COUNT` <double> and `RECORD_COUNT` <character>

Hi, I'm having trouble using some code that appeared to work fine a few months ago but is now throwing up the error in the title.

The error occurs when trying to extract claimant count data, code as follows:

Claimant_count <- nomis_get_data(id = "NM_162_1", 
                                 #time = timesel,
                                 time = "latest",
                                 geography = "TYPE432", #district/UA as of April 2021
                                 measures= 20100,
                                 tidy = TRUE,
                                 select = c("DATE", "DATE_NAME", "GEOGRAPHY_NAME", "GEOGRAPHY_CODE", "GENDER_NAME", "MEASURE_NAME", "OBS_VALUE", "RECORD_COUNT"))

It seems to affect any variable that is of type and I wondered if there had been a change to the data type in the underlying nomis data set?

'SLL certificate has expired' error

I'm trying to map the UK census data in R for lower super output areas.

The 'nomisR' package is installing successfully, but the first time I try to run a function to access data (e.g. 'nomis_data_info', 'nomis_get_data' or 'nomis_search') I get the same error. Here's what happens when I run the code from the R documentation:

jobseekers_country <- nomis_get_data(
id = "NM_1_1", time = "latest",
geography = "TYPE499",
measures = c(20100, 20201), sex = 5)

Error in curl::curl_fetch_memory(url, handle = handle) :
SSL certificate problem: certificate has expired

I have tried installing Rcurl and curl packages, and running different things on the terminal to prepare my system. There seems to be lots of discussion online about certificate problems with other packages that use API's. Any ideas greatly appreciated! Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.