10  Inlezen van data

Let op: deze pagina is in ontwikkeling!

De inhoud van deze pagina is nog in ontwikkeling en is nog niet bruikbaar.

10.1 CSV

10.2 Excel

10.3 Scrapen

10.4 JSON

10.5 cbsodataR

10.6 API’s

API staat voor Application Programming Interface en zorgt dat de ene software met de andere software kan communiceren. Een API kun je dus gebruiken om data van een overheidswebsite met een API in RStudio in te laden.

10.6.1 De basis

Er zijn verschillende packages die je kunt gebruiken om met API’s te werken. We behandelen er een paar:

  • httr2
library(tidyverse)
── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
✔ dplyr     1.1.4     ✔ readr     2.1.4
✔ forcats   1.0.0     ✔ stringr   1.5.1
✔ ggplot2   3.4.4     ✔ tibble    3.2.1
✔ lubridate 1.9.3     ✔ tidyr     1.3.0
✔ purrr     1.0.2     
── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
library(httr2)
req <- request("https://service.pdok.nl/cbs/postcode4/2022/wfs/v1_0?request=GetCapabilities&service=WFS")

x1 <- req %>%
  # req_headers(service="WFS",
  #             version="2.0.0",
  #             request="GetCapabilities") %>%
  #             # typename="provincies",
  #             # resulttype="hits") %>%
  # req_dry_run()
  req_perform()
# req2 <- request("https://service.pdok.nl/cbs/postcode4/2022/wfs/v1_0")
# 
# x2 <- req2 %>%
#   req_headers(service="WFS",
#                request="GetCapabilities") %>%
#   #             # typename="provincies",
#   #             # resulttype="hits") %>%
#   # req_dry_run()
#   req_perform()
req <- request(example_url())

req %>% 
  req_dry_run()
GET / HTTP/1.1
Host: 127.0.0.1:40897
User-Agent: httr2/1.0.0 r-curl/5.2.0 libcurl/8.5.0
Accept: */*
Accept-Encoding: deflate, gzip, br, zstd
# req <- request("https://service.pdok.nl/cbs/wijkenbuurten/2021/wfs/v2_0?request=GetFeature&service=WFS&version=1.1.0&outputFormat=application%2Fjson%3B%20subtype%3Dgeojson&typeName=wijkenbuurten:gemeenten")
# 
# x <- req %>% 
#   # req_headers(service="WFS", 
#   #             request="GetCapabilities",
#   #             method="GET") %>% 
#   req_perform()
#   req_dry_run()

10.7 Word-documenten