<jupyter_start><jupyter_text>Eksempel i R  Intro til notatbøker- Jupyter notebooks - Kjør celle med ctrl + enter - Shift + enter for kjøre og gå til neste  Steg 1Først må vi hente inn modulene vi trenger i RMarker neste celle og trykk Shift + enter<jupyter_code># Henter inn bibliotek

library(httr) # Bibiotek for spørringer
library(rjstat) # Bibliotek for håntering av json-stat formatet<jupyter_output><empty_output><jupyter_text>Steg 2Nå skal vi lage spørringen som består av URL (som peker mot applikasjonen som skal kjøre programmet) og spørringsteksten (som vi henter fra SSB)Her er det mulig å bytte ut spørring med egne spørringer. Husk: - bruke `'` i starten og slutten av spørringsteksten- endre tabellnummer i URL (de fem tallene på slutten) `'https://data.ssb.no/api/v0/no/table/11616/'`<jupyter_code># Pendling

url <-'https://data.ssb.no/api/v0/no/table/11616/'

data <-
'{
  "query": [
    {
      "code": "Region",
      "selection": {
        "filter": "all",
        "values": [
          "*"
        ]
      }
    },
    {
      "code": "ContentsCode",
      "selection": {
        "filter": "item",
        "values": [
          "Innpendlere",
          "Utpendlere"
        ]
      }
    },
    {
      "code": "Tid",
      "selection": {
        "filter": "item",
        "values": [
          "2015",
          "2016",
          "2017",
          "2018",
          "2019",
          "2020"
        ]
      }
    }
  ],
  "response": {
    "format": "json-stat2"
  }
}'<jupyter_output><empty_output><jupyter_text>Steg 3Nå sender vi spørringen til SSB og mottar respons. Responsen vil bestå av de data vi har bestilt, dersom vi har gjort alt rett.<jupyter_code>temp <- POST(url , body = data, encode = "json", verbose())<jupyter_output><empty_output><jupyter_text>Vi kan også sjekke metadata for respons:<jupyter_code>print(temp)<jupyter_output><empty_output><jupyter_text>Steg 4Når vi har fått status 200 kan vi se på datasettet vi har lastet ned. Prøv å skifte ut `naming = "label"` med `naming = "label"` og kjør cellen igjen. Hva skjer?<jupyter_code># Vi lagrer responsen til en variabel
tabell <- fromJSONstat(content(temp, "text"), naming = "id", use_factors = F)

# Vis de første radene av tabellen
head(tabell)<jupyter_output><empty_output><jupyter_text>Steg 5Hvis vi vil lagre data i lokalt, kan vi skrive den til en tekstfil. Den vil lagres i samme mappe som dette skriptet ligger i. Det er også mulig å skrive inn en filbane på din maskin, dersom du vil prøve å lagre den. Hvis ikke kan den lastes ned fra menyen til venstre (under mappesymbolet)<jupyter_code>write.csv(tabell, "11616.csv")<jupyter_output><empty_output><jupyter_text>Bonus - hent metadata for tabell<jupyter_code>content(temp)$updated # Viser når dataene sist ble oppdatert av SSB
content(temp)$label # Viser tittelen på tabellen
content(temp)$source # Viser hvem som eier tabellen<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10855376159395397, 'fraction_numerical': 0.017176228100309172, 'mean_word_length': 3.459418070444104, 'pattern_counts': {'":': 15, '<': 33, '<?xml version=': 0, '>': 29, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '273760', 'license': 'MIT', 'n_tokens_mistral': 1123, 'n_tokens_neox': 1054, 'n_words': 305, 'path': 'R arbeidsbok.ipynb', 'repo_name': 'pandaAPIkurs/kursdata', 'size': '2911'}