Zestawienie pobrano z https://www.kaggle.com/datasets/prasertk/fortune-global-500-from-20192021. Na podstawie kolumny hqcity (miasto-siedziba) dodano kolumnę state (kraj) używając geokodera OSM Nominatim. Wczytujemy dane:
f <- read.csv("FG500.csv", sep = ';', header=T, na.string="NA")
Ograniczamy się zestawienia dla roku 2021:
f21 <- f %>% filter (year == 2021)
Kraje grupujemy. Generalnie na kontynenty, ale Europę na UE i resztę.
Rosję i Turcję arbitralnie zaliczamy do Europy. Przypisanie krajów do
kontynentów jest w pliku continents.csv
:
c <- read.csv("continents.csv", sep = ';', header=T, na.string="NA")
f21c <- left_join(f21, c, by=c("state"))
N <- nrow(f21c)
Ogółem
f21c_c <- f21c %>% group_by(continent) %>%
summarise(c = n()) %>%
mutate (c = c / N * 100)
###
kable(f21c_c, col.names = c('kontynent','%'))
kontynent | % |
---|---|
Asia | 45.2 |
Australia | 0.6 |
EU | 17.8 |
Europe | 8.0 |
NAmerica | 27.2 |
SAmerica | 1.2 |
To samo co wyżej ale tylko sektor Technology
f21t <- f21c %>% filter (sector == 'Technology')
Nt <- nrow(f21t)
f21t_c <- f21t %>% group_by(continent) %>%
summarise(c = n()) %>%
mutate (c = c / Nt * 100)
###
#f21t_c
kable(f21t_c, col.names = c('kontynent','%'))
kontynent | % |
---|---|
Asia | 56.41026 |
EU | 10.25641 |
NAmerica | 33.33333 |
To samo co wyżej ale tylko sektor Energy
f21e <- f21c %>% filter (sector == 'Energy')
Ne <- nrow(f21e)
f21e_c <- f21e %>% group_by(continent) %>%
summarise(c = n()) %>%
mutate (c = c / Ne * 100)
###
#f21e_c
kable(f21e_c, col.names = c('kontynent','%'))
kontynent | % |
---|---|
Asia | 48.529412 |
Australia | 1.470588 |
EU | 19.117647 |
Europe | 13.235294 |
NAmerica | 14.705882 |
SAmerica | 2.941177 |
p1 <- ggplot(f21c_c, aes(x = reorder(continent, c ))) +
geom_bar(aes(y = c ), stat="identity", alpha=.25 ) +
xlab(label="kontynent") +
ylab(label="") +
ggtitle("Grupy krajów wg liczby przedsiębiorstwa z rankingu Fortune Global 500 (2021r)",
subtitle='sektor: ogółem') +
coord_flip()
p2 <- ggplot(f21t_c, aes(x = reorder(continent, c ))) +
geom_bar(aes(y = c ), stat="identity", alpha=.25 ) +
xlab(label="") +
ylab(label="") +
ggtitle("Grupy krajów wg liczby przedsiębiorstw z rankingu Fortune Global 500 (2021r)",
subtitle='sektor: technology') +
coord_flip()
p3 <- ggplot(f21e_c, aes(x = reorder(continent, c ))) +
geom_bar(aes(y = c ), stat="identity", alpha=.25 ) +
xlab(label="") +
ylab(label="") +
ggtitle("Grupy krajów wg liczby przedsiębiorstw z rankingu Fortune Global 500 (2021r)",
subtitle='sektor: energy') +
coord_flip()
p0 <- ggarrange(p1, p2, p3, ncol=3, nrow=1)
p0
Według sektorów działalności
ggplot(f21c, aes(x=sector, y=revenues, fill=sector)) +
geom_boxplot() +
coord_flip() +
ggtitle("Przedsiębiorstwa z rankingu Fortune Global 500 (2021r) wg przychodów") +
ylab("") + xlab("") + guides(fill=FALSE)
Wg kontynentów
ggplot(f21c, aes(x=continent, y=revenues, fill=continent)) +
geom_boxplot() +
coord_flip() +
ggtitle("Przedsiębiorstwa z rankingu Fortune Global 500 (2021r) wg przychodów") +
ylab("") + xlab("") + guides(fill=FALSE)
Tylko kraje z trzema lub więcej przedsiębiorstwami:
f21x <- f %>% group_by(state, year) %>%
summarise(c = n()) %>%
filter (c > 2)
## `summarise()` has grouped output by 'state'. You can override using the `.groups` argument.
p5 <- ggplot(f21x, aes(x=reorder(state, c ), y=c, color=as.factor(year))) +
geom_point(size=2, alpha=.4) +
coord_flip() +
xlab(label="kraj") +
ylab(label="liczba przedsiębiorstw") +
labs(color='') +
##theme_nikw()
ggtitle("Kraje wg liczby przedsiębiorstw z rankingu Fortune Global 500 (2019--21)",
subtitle='Tylko kraje z trzema lub więcej przedsiębiorstwami')
p5