You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In early versions, STATcubeR used to include annotations in the output of as.dataframe.sc_table(). This was dropped when support for OGD Datasets was introduced in #11 . Back then, the annotations were included using separate columns.
It is planned to re-implement this feature in a slightly different manner using {tibble} and {vctrs} by providing a custom vector class that acts as a "annotated numeric". The result of printing those values should look something like this
Annotations should either replace the values while printing or use color coding to reference a specific annotation
The "annotation legend" (which color corresponds to which annotation) can then be included in the footer of the tibble. Some technical details
In order to keep things backwards compatible, the default behavior of sc_tabulate() and as.data.frame.sc_table() should be to return simple tibbles that only include columns of type numeric and factor. Adding annotations should be "opt-in"
Annotated cell values containing a zero can usually be interpreted as not available. Therefore, it makes sense to show the annotation code instead of the zero value (first screenshot). For annotated non-zero values, the values will be color-coded based on the annotation (second screnshot)
The "annotated numeric" class used to represent the columns will have a as.numeric() method which drops the annotations and returns a canonical double-type
Aggregating annotations will not be pursued. If a sc_tabulate() is called in a way where aggregation via rowsums() is necessary and annotations is set to TRUE, an error will be thrown.
Color-coding values with multiple annotations will not be pursued. Instead, one of the annotations will be selected for the color.
The text was updated successfully, but these errors were encountered:
this is the first step to resolving
#27 by adding a function that creates
sc_table() like objects based on sdmx
archives
The sdmx format contains all metadata
that is necessary for STATcubeR to reuse
the existing $tabulate() workflow and this
first version already provides support for
various features via the base class (sc_data)
- $tabulate() to aggregate data
- $total_codes() to set/unset total codes
- $recoder to recode datasets (change labels)
change codes, toggle visibility of
elements, reorder elements, etc.
- importing german and english labels
simultaniously (both languages are included
in a zip download) and allowing to swhitch
between them using $language<-().
New features
- sdmx arcives provide a $parent column
in the $fields() table which are used
to represent hierarchical classifications.
Previously, this was only possible with
od_table()
There are still some improvements. See
the issue #27 for more details
- properly parse time variables -
currently they are treated as generic
categories.
- parse element annotations (detailed
descriptions for classification
elements) and add them to
$field()$de_desc just like with
OGD dataset
- parse value annotations (see #39)
- provide a print/fromat method
- add a reasonable logic for total
codes that takes the parent codes into
account
- fill meta$measures$fun and
$meta$measures$precision based on
the sdmx metadata
- modify very long codes which use
the @-symbol (probably for escapes)
- extend documentation
- possibly check SuperCROSS compability
In early versions, STATcubeR used to include annotations in the output of
as.dataframe.sc_table()
. This was dropped when support for OGD Datasets was introduced in #11 . Back then, the annotations were included using separate columns.It is planned to re-implement this feature in a slightly different manner using
{tibble}
and{vctrs}
by providing a custom vector class that acts as a "annotated numeric". The result of printing those values should look something like thisAnnotations should either replace the values while printing or use color coding to reference a specific annotation
The "annotation legend" (which color corresponds to which annotation) can then be included in the footer of the tibble. Some technical details
sc_tabulate()
andas.data.frame.sc_table()
should be to return simple tibbles that only include columns of typenumeric
andfactor
. Adding annotations should be "opt-in"as.numeric()
method which drops the annotations and returns a canonical double-typesc_tabulate()
is called in a way where aggregation viarowsums()
is necessary andannotations
is set toTRUE
, an error will be thrown.The text was updated successfully, but these errors were encountered: