---
title: "csodata quick start guide"
date: "`r Sys.Date()`"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{csodata quick start guide}
  %\VignetteEngine{knitr::rmarkdown}
  %\VignetteEncoding{UTF-8}
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
```

#### Introduction

This guide provides a basic overview of the use of the csodata package for new users. Install (if necessary) and load the package:

```{r setup}
# # Install or update the package:
# install.packages("csodata")

library(csodata)
```

#### Table of Contents

A list of all the table available on the cso StatBank can be downloaded with `cso_get_toc`. You can search throught the title field using `cso_search_toc`. (A "Loaded cached toc" or "Loaded cached data" message indicates that the data was retrieved from the cache, instead of being downloaded again.)
```{r}
toc <- cso_get_toc()
head(toc)
```

#### Downloading Data

To download a dataset, use `cso_get_data`.

```{r}
tbl1 <- cso_get_data("PEA19")
```

Metadata can be also downloaded or displayed to console:

```{r}
meta1 <- cso_get_meta("CDP06")
cso_disp_meta("CDP06")
```

#### Geographic Data

Geographic vector data in ESRI shapefile format can be downloaded for use in mapping. This uses the older 2011 data, which includes demographic information. Newer maps, including the revisions to the NUTS regions made in 2016, is also available.

```{r}
shp <- cso_get_geo("NUTS3_2011")
```

This data can be plotted using the `tmap` package. Here we plot the 2011 population, which is included as the "TOTAL2011" column in the map data.

```{r, fig.width = 5, fig.height=6}
# install.packages("tmap")
library(tmap)

t <- tm_shape(shp) +
       tm_fill(col="TOTAL2011", 
                    palette = viridisLite::viridis(20),
                    style="cont", legend.reverse = TRUE,
                    title = "Population 2011") +
       tm_borders(col = "black") +
       tm_layout(frame = FALSE, scale = 1.3)
t
```

The data which has been cached locally can be manually cleared once we are done with it.

```{r}
cso_clear_cache()
```
