## 1. Install the glossary package:
## https://debruine.github.io/glossary/
library(glossary)
## If you want to use my glossary.yml file:
## 1. fork my repo
## https://github.com/petzi53/glossary-pb
## 2. Download the `glossary.yml` file from
## https://github.com/petzi53/glossary-pb/blob/master/glossary.yml)
## 3. Store the file on your hard disk
## and change the following path accordingly
glossary::glossary_path("../glossary-pb/glossary.yml")
Inequality in Austria
Preface
WATCH OUT: This is work in progress
This is my personal learning material and is therefore neither a scientific peer reviewed article nor an authoritative textbook.
With this book I want to apply my statistical knowledge using the R language to investigate social inequality for Austria, my country of birth and where I am living.
I am writing this book as a text for others to read because that forces me to become explicit and explain all my learning outcomes more carefully.
Please keep in mind that this text is not written by an expert but by a learner.
Glossary
I am using the {glossary} package to create links to glossary entries.]
R Code 1 : Load glossary
If you hover with your mouse over the double underlined links it opens an window with the appropriate glossary text. Try this example: Z-Score.
To apply the glossary into this text I have used the {glossary} package by Lisa DeBruine.
WATCH OUT! No guarantee for correct information in Glossary
There is no guarantee that the glossary text – as well as the whole book – contains correct information. Whenever possible I have mentioned the source of the glossary entry. (You will find active links to the source in the original glossary file at GitHub)
Sometimes I have used abbreviation for the source, but I need still to provide a key what this short references mean.
If you fork the repository of this quarto book then the glossary will not work out of the box. Load down the glossary.yml
file from my glossary-pb GitHub repo, store it on your hard disk and change the path in the code chunk Listing / Output 1.
In any case I am the only responsible person for this text.
R Code
For R code I am using mainly the Tidyverse Style Guide with some additions from Google’s R Style Guide. These additons are:
- Start the names of private functions with a dot.
- Don’t use
base::attach()
. - No right-hand assignments.
- Qualify namespace.
Especially the last point (qualifying namespace) is important for my learning. Besides preventing conflicts with functions of identical names from different packages it helps me to learn (or remember) which function belongs to which package. I think this justifies the small overhead and helps to make R code chunks self-sufficient. (No previous package loading, or library calls in the setup chunk.) To foster learning the relation between function and package I embrace the package name with curly brakes and format it in bold. Additionally I will add a special annex file “Used packages” with an alphabetically sorted list of short package descriptions.
I am mentioning package name explicitly also for the default installation of base R. This wouldn’t be necessary but it helps me to understand where the base R functions come from. What follows is a list of base R packages of the system library included into every installation and attached (opened) by default:
- {base}: The R Base Package
- {datsets}: The R Datasets Package
- {graphics}: The R Graphics Package
- {grDevices}: The R Graphics Devices and Support for Colours and Fonts
- {methods}: Formal Methods and Classes
- {stats}: The R Stats Package
- {utils}: The R Utils Package
But I will not always mention the name of the argument inside a function. When it is clear then I will follow the advice from Hadley Wickham:
When you call a function, you typically omit the names of data arguments, because they are used so commonly. If you overridethe default value of an argument, use the full name (tidyverse style guide).
Get data
Example 1 : Get Austrian Data
R Code 2 : List and meaning of all country and region codes
WID_countries
.
Code
url <- "_archive/datasets/WID_fulldataset_AT_27-06-2024_14_57_47/WID_countries.csv"
WID_countries <- readr::read_delim(
file = url,
delim = ";",
col_types = "ccccc",
escape_double = FALSE,
trim_ws = TRUE
)
save_data_file("chap0", WID_countries, "WID_countries.rds")
(For this R code chunk is no output available)
R Code 3 : Austria data file
WID_data_AT.csv
file
Code
url <- "_archive/datasets/WID_fulldataset_AT_27-06-2024_14_57_47/WID_data_AT.csv"
WID_data_AT <- readr::read_delim(
file = url,
delim = ";",
col_types = "cccddcc",
escape_double = FALSE,
trim_ws = TRUE
)
save_data_file("chap0", WID_data_AT, "WID_data_AT.rds")
(For this R code chunk is no output available)
R Code 4 : Get metadata
WID_metadata_AT.csv
file
Code
url <- "_archive/datasets/WID_fulldataset_AT_27-06-2024_14_57_47/WID_metadata_AT.csv"
WID_metadata_AT <- read_delim(
file = url,
delim = ";",
col_types = "ccccccccccccccccccc", # 19 character columns
escape_double = FALSE,
trim_ws = TRUE
)
save_data_file("chap0", WID_metadata_AT, "WID_metadata_AT.rds")
(For this R code chunk is no output available)
Inspect data
Example 2 : Inspect Austrian data
R Code 5 : Inspect country codes
Code
WID_countries <- base::readRDS("data/chap0/WID_countries.rds")
glue::glue("############################################################")
glue::glue("Glimpse first rows")
glue::glue("############################################################")
glue::glue(" ")
dplyr::glimpse(WID_countries)
glue::glue(" ")
glue::glue("############################################################")
glue::glue("Display first and last row and 8 random rows between")
glue::glue("############################################################")
glue::glue(" ")
my_glance_data(WID_countries, seed = 420)
glue::glue(" ")
glue::glue("############################################################")
glue::glue("Display rows for Austria and Germany")
glue::glue("############################################################")
glue::glue(" ")
WID_countries |>
dplyr::filter(alpha2 == "AT" | alpha2 == "DE")
#> ############################################################
#> Glimpse first rows
#> ############################################################
#>
#> Rows: 388
#> Columns: 5
#> $ alpha2 <chr> "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AR", …
#> $ titlename <chr> "Andorra", "the United Arab Emirates", "Afghanistan", "Antig…
#> $ shortname <chr> "Andorra", "United Arab Emirates", "Afghanistan", "Antigua a…
#> $ region <chr> "Europe", "Asia", "Asia", "Americas", "Americas", "Europe", …
#> $ region2 <chr> "Western Europe", "West Asia", "South Asia", "Caribbean", "C…
#>
#> ############################################################
#> Display first and last row and 8 random rows between
#> ############################################################
#>
#> # A tibble: 10 × 6
#> obs alpha2 titlename shortname region region2
#> <int> <chr> <chr> <chr> <chr> <chr>
#> 1 1 AD Andorra Andorra Europe Wester…
#> 2 21 BG Bulgaria Bulgaria Europe Easter…
#> 3 73 EG Egypt Egypt Africa North …
#> 4 101 HN Honduras Honduras Ameri… Centra…
#> 5 165 NE Niger Niger Africa West A…
#> 6 170 NP Nepal Nepal Asia South …
#> 7 261 SE Sweden Sweden Europe Wester…
#> 8 349 UZ Uzbekistan Uzbekistan Asia Centra…
#> 9 376 XN-MER MENA (at market exchange rate) MENA (at market e… <NA> <NA>
#> 10 388 ZZ Zanzibar Zanzibar Africa East A…
#>
#> ############################################################
#> Display rows for Austria and Germany
#> ############################################################
#>
#> # A tibble: 2 × 5
#> alpha2 titlename shortname region region2
#> <chr> <chr> <chr> <chr> <chr>
#> 1 AT Austria Austria Europe Western Europe
#> 2 DE Germany Germany Europe Western Europe
-
alpha2
: the 2-letter country/region code 1. -
titlename
: the name of the country/region, including the definite article, if any. -
shortname
: the name of the country/region, excluding the definite article. -
region
: broad world region to which the country belongs. -
region2
: detailed world region to which the country belongs.
R Code 6 : Inspect metadata
Code
WID_metadata_AT <- base::readRDS("data/chap0/WID_metadata_AT.rds")
glue::glue("############################################################")
glue::glue("Glimpse first rows")
glue::glue("############################################################")
glue::glue(" ")
dplyr::glimpse(WID_metadata_AT)
glue::glue(" ")
glue::glue("############################################################")
glue::glue("Get useful summary statistics")
glue::glue("############################################################")
glue::glue(" ")
skimr::skim(WID_metadata_AT)
#> ############################################################
#> Glimpse first rows
#> ############################################################
#>
#> Rows: 944
#> Columns: 19
#> $ country <chr> "AT", "AT", "AT", "AT", "AT", "AT", "AT", "AT", "AT", "A…
#> $ variable <chr> "acaincj992", "accmhni992", "accmhni999", "accmhoi992", …
#> $ age <chr> "992", "992", "999", "992", "999", "992", "999", "992", …
#> $ pop <chr> "j", "i", "i", "i", "i", "i", "i", "i", "i", "i", "i", "…
#> $ countryname <chr> "Austria", "Austria", "Austria", "Austria", "Austria", "…
#> $ shortname <chr> "Post-tax disposable income", "Consumption of fixed capi…
#> $ simpledes <chr> "Post-tax private income corresponds to all sources of i…
#> $ technicaldes <chr> "Post-tax disposable income=Pre-tax income-Taxes on prod…
#> $ shorttype <chr> "Average", "Average", "Average", "Average", "Average", "…
#> $ longtype <chr> "Average income or wealth between two percentiles. When …
#> $ shortpop <chr> "equal-split adults", "individuals", "individuals", "ind…
#> $ longpop <chr> "The base unit is the individual (rather than the househ…
#> $ shortage <chr> "Adults", "Adults", "All Ages", "Adults", "All Ages", "A…
#> $ longage <chr> "The population is comprised of individuals over age 20.…
#> $ unit <chr> "EUR", "EUR", "EUR", "EUR", "EUR", "EUR", "EUR", "EUR", …
#> $ source <chr> "[URL][URL_LINK]https://wid.world/document/why-is-europe…
#> $ method <chr> "Summary of data construction by year (see source for de…
#> $ extrapolation <chr> "[[1980, 2003], [2020, 2022]]", NA, NA, NA, NA, NA, NA, …
#> $ data_points <chr> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#>
#> ############################################################
#> Get useful summary statistics
#> ############################################################
#>
Name | WID_metadata_AT |
Number of rows | 944 |
Number of columns | 19 |
_______________________ | |
Column type frequency: | |
character | 19 |
________________________ | |
Group variables | None |
Variable type: character
skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
---|---|---|---|---|---|---|---|
country | 0 | 1.00 | 2 | 2 | 0 | 1 | 0 |
variable | 0 | 1.00 | 10 | 10 | 0 | 944 | 0 |
age | 0 | 1.00 | 3 | 3 | 0 | 38 | 0 |
pop | 0 | 1.00 | 1 | 1 | 0 | 4 | 0 |
countryname | 0 | 1.00 | 7 | 7 | 0 | 1 | 0 |
shortname | 0 | 1.00 | 6 | 118 | 0 | 237 | 0 |
simpledes | 722 | 0.24 | 33 | 990 | 0 | 33 | 0 |
technicaldes | 645 | 0.32 | 61 | 283 | 0 | 85 | 0 |
shorttype | 0 | 1.00 | 5 | 34 | 0 | 14 | 0 |
longtype | 0 | 1.00 | 7 | 425 | 0 | 14 | 0 |
shortpop | 0 | 1.00 | 4 | 18 | 0 | 4 | 0 |
longpop | 0 | 1.00 | 63 | 131 | 0 | 4 | 0 |
shortage | 0 | 1.00 | 4 | 8 | 0 | 38 | 0 |
longage | 0 | 1.00 | 55 | 73 | 0 | 38 | 0 |
unit | 14 | 0.99 | 3 | 35 | 0 | 8 | 0 |
source | 301 | 0.68 | 104 | 597 | 0 | 25 | 0 |
method | 323 | 0.66 | 53 | 1439 | 0 | 48 | 0 |
extrapolation | 876 | 0.07 | 14 | 28 | 0 | 6 | 0 |
data_points | 936 | 0.01 | 24 | 24 | 0 | 1 | 0 |
The dataset contains seventeen (+ two) variables:
-
country
: the country/region code. -
variable
: the variable code to which the metadata refer. -
age
: the code of the age group to which the population refer. -
pop
: the code of the population unit to which the population refer. -
countryname
: the name of the country/region as it would appear in an English sentence. -
shortname
: the name of the country/region as it would appear on its own in English. -
simpledes
: decription of the variable in plain English. -
technicaldes
: description of the variable via accounting identities. -
shorttype
: short description of the variable type (average, aggregate, share, index, etc.) in plain English. -
longtype
: longer, more detailed description of the variable type in plain English. -
shortpop
: short description of the population unit (individuals, tax units, equal-split, etc.) in plain English. -
longpop
: longer, more detailed description of the population unit in plain English. -
shortage
: short description of the age group (adults, full population, etc.) in plain English. -
longage
: longer, more detailed description of the age group in plain English. -
unit
: unit of the variable (the 3-letter currency code for monetary amounts). -
source
: The source(s) used to compute the data. -
method
: Methological details describing how the data was constructed and/or caveats. -
extrapolation
: Not explained in the “README.md” file. Just the first row contains data. -
data_points
: Not explained in the “README.md” file, but does not data.
There is an explanation for the last two columns in the WID vignette:
In some countries, many data points are the result of interpolations or extrapolations. For example, estimates in most African countries are based on surveys that are only realized every few years, which we interpolate to produce yearly series and perform regional aggregations.
R Code 7 : Inspect Austrian data
Code
WID_data_AT <- base::readRDS("data/chap0/WID_data_AT.rds")
glue::glue("############################################################")
glue::glue("Glimpse first rows")
glue::glue("############################################################")
glue::glue(" ")
dplyr::glimpse(WID_data_AT)
glue::glue(" ")
glue::glue("############################################################")
glue::glue("Display first and last row and 8 random rows between")
glue::glue("############################################################")
glue::glue(" ")
my_glance_data(WID_data_AT)
glue::glue(" ")
glue::glue("############################################################")
glue::glue("Get useful summary statistics")
glue::glue("############################################################")
glue::glue(" ")
skimr::skim(WID_data_AT)
#> ############################################################
#> Glimpse first rows
#> ############################################################
#>
#> Rows: 226,643
#> Columns: 7
#> $ country <chr> "AT", "AT", "AT", "AT", "AT", "AT", "AT", "AT", "AT", "AT",…
#> $ variable <chr> "ehfcari999", "ehfcari999", "ehfcari999", "ehfcari999", "eh…
#> $ percentile <chr> "p0p100", "p0p100", "p0p100", "p0p100", "p0p100", "p0p100",…
#> $ year <dbl> 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,…
#> $ value <dbl> 35.38029, 35.36562, 37.71131, 35.39840, 35.05839, 36.70093,…
#> $ age <chr> "999", "999", "999", "999", "999", "999", "999", "999", "99…
#> $ pop <chr> "i", "i", "i", "i", "i", "i", "i", "i", "i", "i", "i", "i",…
#>
#> ############################################################
#> Display first and last row and 8 random rows between
#> ############################################################
#>
#> # A tibble: 10 × 8
#> obs country variable percentile year value age pop
#> <int> <chr> <chr> <chr> <dbl> <dbl> <chr> <chr>
#> 1 1 AT ehfcari999 p0p100 1990 35.4 999 i
#> 2 46208 AT adiincj992 p76p77 2009 57135. 992 j
#> 3 54425 AT asacgei999 p0p100 2013 3570. 999 i
#> 4 61413 AT lcfghgi999 p50p90 1995 12.3 999 i
#> 5 61605 AT lcfghgi999 p57p58 2012 10.3 999 i
#> 6 74362 AT lpfghgi999 p13p14 2019 6.18 999 i
#> 7 99556 AT aptincj992 p0p93 2018 559153. 992 j
#> 8 147812 AT wtbmpxi999 p0p100 2021 0.550 999 i
#> 9 178200 AT tcaincj992 p79p100 2018 41333. 992 j
#> 10 226643 AT tptincj992 p9p100 2022 7024. 992 j
#>
#> ############################################################
#> Get useful summary statistics
#> ############################################################
#>
Name | WID_data_AT |
Number of rows | 226643 |
Number of columns | 7 |
_______________________ | |
Column type frequency: | |
character | 5 |
numeric | 2 |
________________________ | |
Group variables | None |
Variable type: character
skim_variable | n_missing | complete_rate | min | max | empty | n_unique | whitespace |
---|---|---|---|---|---|---|---|
country | 0 | 1 | 2 | 2 | 0 | 1 | 0 |
variable | 0 | 1 | 10 | 10 | 0 | 944 | 0 |
percentile | 0 | 1 | 4 | 14 | 0 | 388 | 0 |
age | 0 | 1 | 3 | 3 | 0 | 38 | 0 |
pop | 0 | 1 | 1 | 1 | 0 | 4 | 0 |
Variable type: numeric
skim_variable | n_missing | complete_rate | mean | sd | p0 | p25 | p50 | p75 | p100 | hist |
---|---|---|---|---|---|---|---|---|---|---|
year | 0 | 1 | 2.00172e+03 | 1.305000e+01 | 1950 | 1993.00 | 2003.00 | 2012.00 | 2.023000e+03 | ▁▁▅▇▇ |
value | 0 | 1 | 2.38163e+09 | 3.793671e+10 | -81807966208 | 0.65 | 680.99 | 56968.25 | 2.533468e+12 | ▇▁▁▁▁ |
-
country
: country/region code (see Listing / Output 5). -
variable
: WID variable code (see Variable codes). -
percentile
: WID percentile code (see Percentile Codes). -
year
: the year of the data point. -
value
: the value of the data point. -
age
: code indicating the age group to which the data point refers to. -
pop
: code indicating the population unit to which the data point refers to.
How interpreting the data codes?
Variable codes
The meaning of each variable is described in the metadata files. The complete WID variable codes (i.e. sptinc992j) obey to the following logic:
- the first letter indicates the variable type (i.e. “s” for share).
- the next five letters indicate the income/wealth/other concept (i.e. “ptinc” for pre-tax national income).
- the next three digits indicate the age group (i.e. “992” for adults).
- the last letter indicate the population unit (i.e. “j” for equal-split).
Percentile Codes
There are two types of percentiles on WID.world : (1) group percentiles and (2) generalized percentiles. The interpretation of income (or wealth) average, share or threshold series depends on which type of percentile is looked at.
Group Percentiles
Group percentiles are defined as follows:
Bottom and top
- p0p50 (bottom 50% of the population),
- p50p90 (next 40%),
- p90p100 (top 10%),
- p99p100 (top 1%),
- p0p90 (bottom 90%),
- p0p99 (bottom 99% of the population),
- p99.9p100 (top 0.1%),
- p99.99p100 (top 0.01%)
Deciles
- p0p10 (bottom 10% of the population, i.e. first decile),
- p10p20 (next 10%, i.e. second decile),
- p20p30 (next 10%, i.e. third decile),
- p30p40 (next 10%, i.e. fourth decile),
- p40p50 (next 10%, i.e. fifth decile),
- p50p60 (next 10%, i.e. sixth decile),
- p60p70 (next 10%, i.e. seventh decile),
- p70p80 (next 10%, i.e. eighth decile),
- p80p90 (next 10%, i.e. ninth decile),
For each group percentiles, we provide the associated income or wealth shares, averages and thresholds.
- group percentile shares correspond to the income (or wealth) share held by a given group percentile. For instance, the fiscal income share of group p0p50 is the share of total fiscal income captured by the bottom 50% group.
- group percentile averages correspond to the income or wealth annual income (or wealth) average within a given group percentile group. For instance, the fiscal income average of group p0p50 is the average annual fiscal income of the bottom 50% group.
- group percentile thresholds correspond to the minimum income (or wealth) level required to belong to a given group percentile. For instance, the fiscal income threshold of group p90p100 is the minimum annual fiscal income required to belong to the top 10% group.
When the data allows, the WID.world website makes it possible to produce shares, averages and thresholds for any group percentile (say, for instance, average income of p43p99.92). These are not stored in bulk data tables.
For certain countries, because of data limitations, we are not able to provide the list of group percentiles described above. We instead store specific group percentiles (these can be, depending on the countries p90p95, p95p100, p95p99, p99.5p100, p99.5p99.9, p99.75p100, p99.95p100, p99.95p99.99, p99.995p100, p99.9p99.95, p99.9p99.99 or p99p99.5).
Generalized Percentiles
Generalized percentiles (g-percentiles) are defined to as follows: p0, p1, p2, …, p99, p99.1, p99.2, …, p99.9, p99.91, p99.92, …, p99.99, p99.991, p99.992 ,…, p99.999. There are 127 g-percentiles in total.
For each g-percentiles, we provide shares, averages, top averages and thresholds.
g-percentile shares
correspond to the income (or wealth) share captured by the population group above a given g-percentile value.
g-percentile averages
correspond to the average income or wealth between two consecutive g-percentiles.
- Average income of g-percentile
p0
corresponds to the average annual income of the bottom 1% group,p2
corresponds to the next 1% group and so on untilp98
(the 1% population group below the top 1%). - Average income of g-percentile
p99
corresponds to average annual of group percentilep99p99.1
(i.e. the bottom 10% group of earners within the top 1% group of earners),p99.1
corresponds to the next 0.1% group,p99.2
corresponds to the next 0.1% group and so on untilp99.8
. - Average income of
p99.9
corresponds to the average annual income of group percentilep99.9p99.91
(i.e. the bottom 10% group of earners within the top 0.1% group of earners),p99.91
corresponds to the next 0.01% group,p99.92
corresponds to the next 0.01% group and so on untilp99.98
. - Average income of
p99.99
, corresponds to the average annual income of group percentilep99.99p99.991
(i.e. the bottom 10% group within the top 0.01% group of earners),p99.991
corresponds to the next 0.001%,p99.992
corresponds to the next 0.001% group and so on untilp99.999
(average income of the top 0.001% group).
- The average fiscal income of g-percentile p50 is equal to the average annual fiscal income of the p50p51 group percentile (i.e. the average annual income of the population group earning more than 50% of the population and less than the top 49% of the population).
- The average fiscal income of g-percentile p99 is equal to the average annual fiscal income within group percentile p99p99.1 (i.e. a group representing 0.1% of the total population earning more than 99% of the population but less than the top 0.9% of the population).
g-percentile top-averages
correspond to the average income or wealth above a given g-percentile threshold.
- The top average fiscal income at g-percentile p50 corresponds to the average annual fiscal income of individuals earning more than 50% of the population.
- The top average fiscal income at g-percentile p90 corresponds to the average annual fiscal income of the top 10% group.
g-percentile thresholds
correspond to minimum income (or wealth) level required to belong to the population group above a given g-percentile value.
- The fiscal income threshold at g-percentile p90 corresponds to the minimum annual fiscal income required to belong to the top 10% group.
- The fiscal income threshold at g-percentile p99.9 corresponds to the minimum annual fiscal income required to belong to the top 0.1% group.
Formally, the g-percentile threshold at g-percentile pX corresponds to the threshold of the top (100-X)% group.
Resources
Resource 1 : Resources used for this Quarto book
Literature
- Alvaredo, F., Chancel, L., Piketty, T., Saez, E., & Zucman, G. (2018). The World Inequality Report 2018. Harvard University Press. (Alvaredo et al. 2018)
- Chancel, L., Piketty, T., Saez, E., Zucman, G., & Duflo, E. (2022). World Inequality Report 2022. Harvard University Press. (Chancel et al. 2022)
- Gethin, A., Martínez-toleda, C., & Piketty, T. (2021). Political Cleavages and Social Inequalities - A Study of Fifty Democracies, 1948-2020: A Study of Fifty Democracies, 1948–2020. Harvard University Press. (Gethin, Martínez-Toleda, and Piketty 2021)
- Piketty, T. (2020). Capital and Ideology (A. Goldhammer, Trans.; Illustrated Edition). Harvard University Press. (Piketty 2020)
- Piketty, T. (2022). A Brief History of Equality (S. Rendall, Trans.). Harvard University Press. (Piketty 2022)
- Piketty, T., & Goldhammer, A. (2017). Capital in the Twenty-First Century. Harvard University Press. (Piketty and Goldhammer 2017)
Websites
- Author Collective “World Inequality Lab”. (2024). WID - World Inequality Database. WID. The source for global inequality data. Open access, high quality wealth and income inequality data developed by an international academic consortium. (Author Collective ’World Inequality Lab’ 2024)
- Gethin, A., Martinez-Toledo, C., & Piketty, T. (2024). WPID - World Political Cleavages and Inequality Database. Who votes for whom? The WPID provides the most comprehensive available data on the structure of the vote in contemporary democracies, drawing on a rich set of electoral surveys conducted since 1948. (Gethin, Martinez-Toledono, and Piketty 2024)
Methodology
- World Inequality Lab. (2024). Distributional National Accounts Guidelines. (World Inequality Lab 2024d)
- Codes Dictionary. (n.d.). WID - World Inequality Database. Retrieved June 28, 2024, from https://wid.world/codes-dictionary/. (World Inequality Lab 2024a)
- Summary table. (n.d.). WID - World Inequality Database. Retrieved June 28, 2024, from https://wid.world/summary-table/. (World Inequality Lab 2024c)
- World Inequality Lab. (2024). Generalized Pareto interpolation. WID - World Inequality Database. https://wid.world/gpinter/. (World Inequality Lab 2024b)
R Packages
- Blanchet, T. (2024). Thomasblanchet/gpinter [R]. https://github.com/thomasblanchet/gpinter (Original work published 2016). R package for generalized Pareto interpolation. (Blanchet, Fournier, and Piketty 2017).
- Blanchet, T. (2024). Thomasblanchet/wid-r-tool [R]. https://github.com/thomasblanchet/wid-r-tool (Original work published 2017). R package to download data from the WID.world database. (Blanchet 2024)
Icons
- Austria fav icon by Icons8 But I have used many other icons by Icons8 for the Quarto callout boxes.
- Favicon.io — The Ultimate Favicon Generator (Free). (n.d.). Retrieved June 26, 2024.
Session Info
Session Info
Code
sessioninfo::session_info()
#> ─ Session info ───────────────────────────────────────────────────────────────
#> setting value
#> version R version 4.4.1 (2024-06-14)
#> os macOS Sonoma 14.6.1
#> system x86_64, darwin20
#> ui X11
#> language (EN)
#> collate en_US.UTF-8
#> ctype en_US.UTF-8
#> tz Europe/Vienna
#> date 2024-08-29
#> pandoc 3.3 @ /usr/local/bin/ (via rmarkdown)
#>
#> ─ Packages ───────────────────────────────────────────────────────────────────
#> package * version date (UTC) lib source
#> base64enc 0.1-3 2015-07-28 [1] CRAN (R 4.4.0)
#> cli 3.6.3 2024-06-21 [1] CRAN (R 4.4.1)
#> commonmark 1.9.1 2024-01-30 [1] CRAN (R 4.4.0)
#> crayon 1.5.3 2024-06-20 [1] CRAN (R 4.4.0)
#> curl 5.2.1 2024-03-01 [1] CRAN (R 4.4.0)
#> digest 0.6.36 2024-06-23 [1] CRAN (R 4.4.0)
#> dplyr 1.1.4 2023-11-17 [1] CRAN (R 4.4.0)
#> evaluate 0.24.0 2024-06-10 [1] CRAN (R 4.4.0)
#> fansi 1.0.6 2023-12-08 [1] CRAN (R 4.4.0)
#> fastmap 1.2.0 2024-05-15 [1] CRAN (R 4.4.0)
#> generics 0.1.3 2022-07-05 [1] CRAN (R 4.4.0)
#> glossary * 1.0.0.9003 2024-08-05 [1] Github (debruine/glossary@05e4a61)
#> glue 1.7.0 2024-01-09 [1] CRAN (R 4.4.0)
#> htmltools 0.5.8.1 2024-04-04 [1] CRAN (R 4.4.0)
#> htmlwidgets 1.6.4 2023-12-06 [1] CRAN (R 4.4.0)
#> jsonlite 1.8.8 2023-12-04 [1] CRAN (R 4.4.0)
#> knitr 1.48 2024-07-07 [1] CRAN (R 4.4.0)
#> lifecycle 1.0.4 2023-11-07 [1] CRAN (R 4.4.0)
#> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.4.0)
#> markdown 1.13 2024-06-04 [1] CRAN (R 4.4.0)
#> pillar 1.9.0 2023-03-22 [1] CRAN (R 4.4.0)
#> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.4.0)
#> purrr 1.0.2 2023-08-10 [1] CRAN (R 4.4.0)
#> R6 2.5.1 2021-08-19 [1] CRAN (R 4.4.0)
#> repr 1.1.7 2024-03-22 [1] CRAN (R 4.4.0)
#> rlang 1.1.4 2024-06-04 [1] CRAN (R 4.4.0)
#> rmarkdown 2.27 2024-05-17 [1] CRAN (R 4.4.0)
#> rstudioapi 0.16.0 2024-03-24 [1] CRAN (R 4.4.0)
#> rversions 2.1.2 2022-08-31 [1] CRAN (R 4.4.0)
#> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.4.0)
#> skimr 2.1.5 2022-12-23 [1] CRAN (R 4.4.0)
#> stringi 1.8.4 2024-05-06 [1] CRAN (R 4.4.0)
#> stringr 1.5.1 2023-11-14 [1] CRAN (R 4.4.0)
#> tibble 3.2.1 2023-03-20 [1] CRAN (R 4.4.0)
#> tidyr 1.3.1 2024-01-24 [1] CRAN (R 4.4.0)
#> tidyselect 1.2.1 2024-03-11 [1] CRAN (R 4.4.0)
#> utf8 1.2.4 2023-10-22 [1] CRAN (R 4.4.0)
#> vctrs 0.6.5 2023-12-01 [1] CRAN (R 4.4.0)
#> withr 3.0.1 2024-07-31 [1] CRAN (R 4.4.0)
#> xfun 0.46 2024-07-18 [1] CRAN (R 4.4.0)
#> xml2 1.3.6 2023-12-04 [1] CRAN (R 4.4.0)
#> yaml 2.3.10 2024-07-26 [1] CRAN (R 4.4.0)
#>
#> [1] /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/library
#>
#> ──────────────────────────────────────────────────────────────────────────────
References
Regions within country XX are indicated as XX-YY, where YY is the region code. World regions are indicated as XX and XX-MER, the first one using purchasing power parities (the default) and the second one using market exchange rates. See the technical note “Prices and currency conversions in WID.world” for details.↩︎