This is a worksheet of BKM Sektorel Gelisim Assignment.
The assignment’s dataset includes the January 2019 through June 2019.
We import packages we’ll use.
library("rvest")
library("tidyverse")
library("lubridate")
We downloaded dataset from the BKM website separately for each month.
Then, we create tables for each month.
raw6<- read_html("https://bkm.com.tr/secilen-aya-ait-sektorel-gelisim/?filter_year=2019&filter_month=6&List=Listele")
raw5<- read_html("https://bkm.com.tr/secilen-aya-ait-sektorel-gelisim/?filter_year=2019&filter_month=5&List=Listele")
raw4<- read_html("https://bkm.com.tr/secilen-aya-ait-sektorel-gelisim/?filter_year=2019&filter_month=4&List=Listele")
raw3<- read_html("https://bkm.com.tr/secilen-aya-ait-sektorel-gelisim/?filter_year=2019&filter_month=3&List=Listele")
raw2<- read_html("https://bkm.com.tr/secilen-aya-ait-sektorel-gelisim/?filter_year=2019&filter_month=2&List=Listele")
raw1<- read_html("https://bkm.com.tr/secilen-aya-ait-sektorel-gelisim/?filter_year=2019&filter_month=1&List=Listele")
raw_table6 <- raw6%>% html_table(fill = TRUE)
raw_table5 <- raw5%>% html_table(fill = TRUE)
raw_table4 <- raw4%>% html_table(fill = TRUE)
raw_table3 <- raw3%>% html_table(fill = TRUE)
raw_table2 <- raw2%>% html_table(fill = TRUE)
raw_table1 <- raw1%>% html_table(fill = TRUE)
table6<-raw_table6[[4]]
table5<-raw_table5[[4]]
table4<-raw_table4[[4]]
table3<-raw_table3[[4]]
table2<-raw_table2[[4]]
table1<-raw_table1[[4]]
We add a date column to each table and change the names of all columns.
Then, we merge the tables by filtering the rows.
table6<-add_column(table6,yeni="2019-06-30")
table5<-add_column(table5,yeni="2019-05-31")
table4<-add_column(table4,yeni="2019-04-30")
table3<-add_column(table3,yeni="2019-03-31")
table2<-add_column(table2,yeni="2019-02-28")
table1<-add_column(table1,yeni="2019-01-31")
names(table1)<- c("Isyeri_Grubu","Islem_Adedi_Kredi_Karti","Islem_Adedi_Banka_Karti","Islem_Tutari_Kredi_Karti","Islem_Tutari_Banka_Karti","Tarih")
names(table2)<- c("Isyeri_Grubu","Islem_Adedi_Kredi_Karti","Islem_Adedi_Banka_Karti","Islem_Tutari_Kredi_Karti","Islem_Tutari_Banka_Karti","Tarih")
names(table3)<- c("Isyeri_Grubu","Islem_Adedi_Kredi_Karti","Islem_Adedi_Banka_Karti","Islem_Tutari_Kredi_Karti","Islem_Tutari_Banka_Karti","Tarih")
names(table4)<- c("Isyeri_Grubu","Islem_Adedi_Kredi_Karti","Islem_Adedi_Banka_Karti","Islem_Tutari_Kredi_Karti","Islem_Tutari_Banka_Karti","Tarih")
names(table5)<- c("Isyeri_Grubu","Islem_Adedi_Kredi_Karti","Islem_Adedi_Banka_Karti","Islem_Tutari_Kredi_Karti","Islem_Tutari_Banka_Karti","Tarih")
names(table6)<- c("Isyeri_Grubu","Islem_Adedi_Kredi_Karti","Islem_Adedi_Banka_Karti","Islem_Tutari_Kredi_Karti","Islem_Tutari_Banka_Karti","Tarih")
table6<-slice(table6,3:28)
table5<-slice(table5,3:28)
table4<-slice(table4,3:28)
table3<-slice(table3,3:28)
table2<-slice(table2,3:28)
table1<-slice(table1,3:28)
bkm_data<-bind_rows(table1, table2, table3, table4, table5, table6)
glimpse(bkm_data)
## Observations: 156
## Variables: 6
## $ Isyeri_Grubu <chr> "ARABA KİRALAMA", "ARAÇ KİRALAMA-SATI...
## $ Islem_Adedi_Kredi_Karti <chr> "256.372", "2.967.019", "25.277.186",...
## $ Islem_Adedi_Banka_Karti <chr> "49.296", "642.136", "8.684.036", "69...
## $ Islem_Tutari_Kredi_Karti <chr> "195,13", "2.185,84", "5.066,04", "71...
## $ Islem_Tutari_Banka_Karti <chr> "14,77", "127,16", "680,01", "0,30", ...
## $ Tarih <chr> "2019-01-31", "2019-01-31", "2019-01-...
We convert numeric and date columns because all columns of our dataset are characters.
We are ready for analysis!
bkm_data$Tarih <- ymd(bkm_data$Tarih)
bkm_data$Islem_Adedi_Kredi_Karti<-as.numeric(gsub("\\.","",bkm_data$Islem_Adedi_Kredi_Karti))
bkm_data$Islem_Adedi_Banka_Karti<-as.numeric(gsub("\\.","",bkm_data$Islem_Adedi_Banka_Karti))
bkm_data$Islem_Tutari_Kredi_Karti<-as.numeric(gsub(",",".",gsub("\\.","",bkm_data$Islem_Tutari_Kredi_Karti)))
bkm_data$Islem_Tutari_Banka_Karti<-as.numeric(gsub(",",".",gsub("\\.","",bkm_data$Islem_Tutari_Banka_Karti)))
glimpse(bkm_data)
## Observations: 156
## Variables: 6
## $ Isyeri_Grubu <chr> "ARABA KİRALAMA", "ARAÇ KİRALAMA-SATI...
## $ Islem_Adedi_Kredi_Karti <dbl> 256372, 2967019, 25277186, 2271587, 2...
## $ Islem_Adedi_Banka_Karti <dbl> 49296, 642136, 8684036, 697, 15221891...
## $ Islem_Tutari_Kredi_Karti <dbl> 195.13, 2185.84, 5066.04, 716.42, 447...
## $ Islem_Tutari_Banka_Karti <dbl> 14.77, 127.16, 680.01, 0.30, 673.70, ...
## $ Tarih <date> 2019-01-31, 2019-01-31, 2019-01-31, ...
sektor_orani<- bkm_data %>%
select(Isyeri_Grubu,Islem_Adedi_Kredi_Karti,Islem_Adedi_Banka_Karti,Islem_Tutari_Kredi_Karti,Islem_Tutari_Banka_Karti,Tarih) %>%
group_by(Isyeri_Grubu) %>%
summarize(islem_hacmi=sum(Islem_Tutari_Kredi_Karti,Islem_Tutari_Banka_Karti)) %>%
mutate(oran = round(islem_hacmi/sum(islem_hacmi),2)) %>%
arrange(desc(oran)) %>%
print(sektor_orani)
## # A tibble: 26 x 3
## Isyeri_Grubu islem_hacmi oran
## <chr> <dbl> <dbl>
## 1 MARKET VE ALIÅžVERÄ°Åž MERKEZLERÄ° 83789. 0.18
## 2 BENZÄ°N VE YAKIT Ä°STASYONLARI 39811. 0.08
## 3 GÄ°YÄ°M VE AKSESUAR 39850. 0.08
## 4 ÇEŞİTLİ GIDA 33589. 0.07
## 5 HİZMET SEKTÖRLERİ 32248. 0.07
## 6 ELEKTRÄ°K-ELEKTRONÄ°K EÅžYA, BÄ°LGÄ°SAYAR 23900. 0.05
## 7 YEMEK 22506. 0.05
## 8 SAÄžLIK/SAÄžLIK ÃœRÃœNLERÄ°/KOZMETÄ°K 19206. 0.04
## 9 SÄ°GORTA 18984. 0.04
## 10 YAPI MALZEMELERÄ°, HIRDAVAT, NALBURÄ°YE 17692. 0.04
## # ... with 16 more rows
en_iyi_on_sektor<-head(sektor_orani,10)
ggplot(data = en_iyi_on_sektor, aes(x=Isyeri_Grubu, y=oran, fill=Isyeri_Grubu)) +
geom_bar(stat="identity")+
coord_polar()+
theme(legend.position = "right", axis.text.x = element_text(angle = 0))+
geom_text(aes(y = oran , label = oran))+
labs(title = "Sector Shares", x="", y="")
aylik<- bkm_data %>%
arrange(desc(Tarih),desc(Islem_Tutari_Kredi_Karti)) %>%
group_by(Tarih) %>%
summarize(aylik_kartlar_toplami = sum(Islem_Tutari_Kredi_Karti, Islem_Tutari_Kredi_Karti)) %>%
arrange(desc(aylik_kartlar_toplami))%>%
print(aylik)
## # A tibble: 6 x 2
## Tarih aylik_kartlar_toplami
## <date> <dbl>
## 1 2019-05-31 149707
## 2 2019-06-30 140585
## 3 2019-03-31 137915.
## 4 2019-04-30 134893.
## 5 2019-01-31 125321.
## 6 2019-02-28 115845.
ggplot(data = aylik, aes(x = workplace, y = aylik_kartlar_toplami, fill = as.character(Tarih)))+
geom_bar(stat = "identity") +
aes(x = reorder(Tarih, -aylik_kartlar_toplami),y =aylik_kartlar_toplami) +
labs(x = "", y = "", title = "Monthly Transaction Volume") +
theme_bw() + theme( axis.text.x = element_text(angle = 90,vjust = 0.49, hjust = 0.49, size = 8)) +
scale_y_continuous(labels = scales::comma) +
scale_x_discrete(labels = c("Mayis", "Haziran","mart", "Nisan", "ocak", "Subat")) +
theme(legend.position = "none")