this post was submitted on 16 Dec 2023
225 points (93.1% liked)

Europe

8324 readers
1 users here now

News/Interesting Stories/Beautiful Pictures from Europe ๐Ÿ‡ช๐Ÿ‡บ

(Current banner: Thunder mountain, Germany, ๐Ÿ‡ฉ๐Ÿ‡ช ) Feel free to post submissions for banner pictures

Rules

(This list is obviously incomplete, but it will get expanded when necessary)

  1. Be nice to each other (e.g. No direct insults against each other);
  2. No racism, antisemitism, dehumanisation of minorities or glorification of National Socialism allowed;
  3. No posts linking to mis-information funded by foreign states or billionaires.

Also check out [email protected]

founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 34 points 11 months ago* (last edited 11 months ago) (1 children)

statistia-netcontrib.csv

country,netcontrib
DE,25572
FR,12380
NL,6929
IT,3337
SE,2826
DK,1766
AT,1540
FI,1109
IE,703
MT,-14
CY,-172
SI,-386
EE,-729
LT,-860
SK,-1398
LV,-1544
BG,-1727
HR,-1746
ES,-1946
LU,-2020
CZ,-2853
BE,-2950
PT,-3132
RO,-4096
HU,-4206
GR,-4278
PL,-11910

eu-contribution-per-capita.r

if (!require("pacman")) install.packages("pacman")
pacman::p_load(
            countrycode,
            dplyr,
            ggdark,
            ggplot2,
            r2country
        )

abs <- read.csv("statista-netcontrib.csv",header = TRUE)
abs2 <- cbind(abs,name = countrycode(abs$country,"iso2c","country.name")) 

df <- inner_join(country_names, abs2)
df2 <- inner_join(country_population, df)
df2$percap <- df2$netcontrib/df2$population2023*1000000

df3 <- arrange(df2,percap)

ggplot(df3, aes(x = percap, y = reorder(name, percap))) +
    geom_bar(stat = "identity") +
    dark_theme_gray() +
    ylab("Country") +
    xlab("Euros per capita") +
    scale_x_continuous(breaks = scales::pretty_breaks(n = 20)) +
    geom_text(aes(label = percap))

ggsave("euros-percap.png")

Full size image

Sorry about the broken escaping of the angle brackets (โ€œ<โ€ is โ€œ&lt;โ€) in the source; Lemmy is, regrettably, broken on that at the moment.

EDIT: Fixed Latvia country code error.

EDIT2: And Austria country code error.

[โ€“] [email protected] 12 points 11 months ago* (last edited 11 months ago) (1 children)

Also, a Markdown table rendition:

eu-contribution-per-capita-markdown.r

if (!require("pacman")) install.packages("pacman")
pacman::p_load(
            countrycode,
            dplyr,
            r2country,
            simplermarkdown
        )

abs &lt;- read.csv("statista-netcontrib.csv",header = TRUE)
abs2 &lt;- cbind(abs,name = countrycode(abs$country,"iso2c","country.name")) 

df &lt;- inner_join(country_names, abs2)
df2 &lt;- inner_join(country_population, df)
df2$percap &lt;- df2$netcontrib/df2$population2023*1000000

df3 &lt;- arrange(df2,-percap)

md_table(df3)

name percap
Netherlands 386.91124
Germany 302.86855
Denmark 297.09908
Sweden 267.98643
Finland 199.90810
France 181.71677
Austria 168.68113
Ireland 136.52768
Italy 56.76638
Malta -26.94577
Spain -40.25217
Slovenia -182.27546
Cyprus -187.34343
Romania -214.99549
Belgium -250.73894
Slovakia -257.60767
Bulgaria -267.84703
Portugal -299.21568
Lithuania -300.05251
Poland -315.86485
Greece -408.10926
Hungary -438.25808
Croatia -449.01298
Estonia -533.72029
Latvia -819.79399
Luxembourg -3056.85909
[โ€“] Whelks_chance 3 points 11 months ago (1 children)

This is very clever. Is Lemmy actually running the code to achieve this, or did you paste it just so other people can replicate the process?

[โ€“] [email protected] 5 points 11 months ago

Nah, I just pasted it so that other people can reproduce.