An unknown dataset, dimension or code was reported as "could not reach the
dataseries.org API". ds() now says what is wrong, e.g. unknown dimension 'item' for dataset 'ch_fso_construction_prices'. Valid dimensions: worktype.
"Could not reach" is kept for real network failures.
ds(class = "ts") returned a quarterly series with every other value NA
for semi-annual datasets such as ch_fso_construction_prices. It now returns
a series with frequency 2 (first half = period 1). The frequency is taken from
the dataset's metadata where available.
The dimension code "NA" was read as a missing value, e.g. D0 was NA for
every row of ds("ch_snb_bopcapbalq", D0 = "NA"). All dimension columns are
now read verbatim as character; only an empty value is missing.
Dimension names were mangled by read.csv(), e.g. "Offene Stellen" came
back as Offene.Stellen. Column names now equal the API's dimension names
exactly.
New vignette, vignette("dataseries"), introducing dataseries.org and
walking through the package.
ds_catalog() and ds_search() gain a lang argument ("en", "de",
"fr" or "it"). dataseries.org publishes its labels in all four
languages and the package used to discard everything but English. Searching
also matches in the chosen language, so ds_search("arbeitslosen", lang = "de") works. Missing translations fall back to English.
The concept and topic columns of ds_catalog() were NA for every
dataset. Both are objects in the API and were being read as if they were
plain strings. concept now holds the (translated) concept and topic the
stable topic key.
The path column of ds_search() repeated each element once per language,
e.g. "Total / Total / Total / Totale". It now holds the path in the
chosen language.
Relicensed from GPL-3 to MIT.
The README no longer points to GitHub for the current version; 1.0.0 and later are on CRAN.
Added a pointer to the Python package, which mirrors this interface.
This is a ground-up rewrite. dataseries.org now serves its data through a public
API (api.dataseries.org), and the package has been rebuilt around it.
The old flat series identifiers (e.g. "CCI.AIK") no longer exist, so this
release is not backward compatible.
ds(dataset, ..., from, to, class) is the new download function. The first
argument is a dataset id; dimension filters are passed as named arguments
(e.g. ds("ch_seco_gdp", type = "real", structure = "gdp")). The default
data.frame is returned in long (tidy) format; class = "ts" lays the
selected series out as columns. The xts option (and the xts dependency)
has been dropped, as all series are regular-frequency and covered by ts.ds_catalog() lists all datasets (replaces inventory()).ds_search(pattern) is a flat, searchable list of the individual series
across all datasets — the finest-grained way to discover what exists.ds_meta(dataset) returns a dataset's dimensions and codes, for discovery.inventory() is deprecated; it now warns and calls ds_catalog().cache_ls() / cache_rm() continue to manage the in-memory cache.class = "ts".inventory(), returns a data.frame with all series on
www.dataseries.org.