Pasti dari pembaca pernah melakukan liburan baik itu dalam kota maupun luar kota. Sebelum melakukan perjalanan, biasanya seseorang akan membuat sebuah rencana terlebih dahulu mengenai lokasi yang akan dikunjungi. Terkadang dalam pemilihan lokasi akan memakan waktu yang tidak sedikit karena referensi tentang lokasi wisata yang tidak terlalu banyak. Oleh karena itu, tujuan dari LBB ini untuk memberikan rekomendasi tempat wisata bagi para wisatawan yang akan berkunjungke tempat wisata khususnya di pulau Jawa.
Data diambil dari website kaggle dengan isi data tahun 2015. Dataset ini merupakan dataset yang memuat beberapa tempat wisata di 5 kota besar di Indonesia yaitu Jakarta, Yogyakarta, Semarang, Bandung, dan Surabaya.
Sebelum melakukan analisis lebih lanjut, terlebih dahulu akan
diimport library yang akan digunakan.
library(dplyr) # melakukan EDA
library(ggplot2) # membuat plot statis
library(ggpubr) # export plot statis
library(scales) # mengatur skala plot
library(glue) # setting teks pada tooltip
library(plotly) # membuat plot interaktif
library(leaflet) # membuat map
library(stringr) # mengubah skalaSetelah library sudah dipanggil selanjutnya memanggil
dataset yang akan digunakan. Kali ini, terdapat 3 dataset yang akan
dipanggil dan disimpan dalam variabel nama berbeda-beda.
tourism_rating <- read.csv("tourism_rating.csv")
tourism_with_id <- read.csv("tourism_with_id.csv")
user <- read.csv("user.csv")Untuk melihat bentuk data set yang sudah dipanggil bisa menggunakan
perintah head.
head(tourism_rating)head(tourism_with_id)head(user)Selanjutnya akan dilakukan pengecekan data dari tiap-tiap dataset
apakah tipe data yang digunakan sudah benar atau belum. Dengan
menggunakan perintah glimpse yang ada di library
dplyr akan ditampilkan ringkasan dari dataset seperti
berikut:
glimpse(tourism_rating)#> Rows: 10,000
#> Columns: 3
#> $ User_Id <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,…
#> $ Place_Id <int> 179, 344, 5, 373, 101, 312, 258, 20, 154, 393, 103, 208,…
#> $ Place_Ratings <int> 3, 2, 5, 3, 4, 2, 5, 4, 2, 5, 3, 5, 3, 5, 5, 4, 4, 3, 3,…
glimpse(tourism_with_id)#> Rows: 437
#> Columns: 13
#> $ Place_Id <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17…
#> $ Place_Name <chr> "Monumen Nasional", "Kota Tua", "Dunia Fantasi", "Taman M…
#> $ Description <chr> "Monumen Nasional atau yang populer disingkat dengan Mona…
#> $ Category <chr> "Budaya", "Budaya", "Taman Hiburan", "Taman Hiburan", "Ta…
#> $ City <chr> "Jakarta", "Jakarta", "Jakarta", "Jakarta", "Jakarta", "J…
#> $ Price <int> 20000, 0, 270000, 10000, 94000, 25000, 4000, 180000, 1750…
#> $ Rating <dbl> 4.6, 4.6, 4.6, 4.5, 4.5, 4.5, 4.5, 4.0, 4.4, 4.5, 4.6, 4.…
#> $ Time_Minutes <int> 15, 90, 360, NA, 60, 10, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ Coordinate <chr> "{'lat': -6.1753924, 'lng': 106.8271528}", "{'lat': -6.13…
#> $ Lat <dbl> -6.175392, -6.137645, -6.125312, -6.302446, -6.124190, -6…
#> $ Long <dbl> 106.8272, 106.8171, 106.8335, 106.8952, 106.8391, 106.858…
#> $ X <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, N…
#> $ X.1 <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17…
glimpse(user)#> Rows: 300
#> Columns: 3
#> $ User_Id <int> 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18…
#> $ Location <chr> "Semarang, Jawa Tengah", "Bekasi, Jawa Barat", "Cirebon, Jawa…
#> $ Age <int> 20, 21, 23, 21, 20, 18, 39, 40, 38, 39, 20, 37, 18, 26, 34, 4…
Tempak beberapa kolom yang harus diubah tipe datanya seperti Place_Name, Category, City, Metode, Location, Lat, dan Long.
Adapun deskripsi dari dataset yang digunakan yaitu:
User_Id : Id dari wisatawan.Place_Id : Id dari tempat wisata.Place_Rating : Nilai dari wisatawan.Place_Name : Nama Tempat Wisata.Description : Penjelasan mengenai tempat wisata.Category : Kategori tempat wisata yang terdiri dari
“Budaya”, “Taman Hiburan”, “Cagar Alam”, “Bahari”, Pusat Perbelanjaan”,
“Tempat Ibadah”.City : Kota yang terdiri dari “Jakarta”, “Bandung”,
“Semarang”, “Yogyakarta”, “Surabaya”.Price : Harga Tiket MasukRating : Nilai berdasarkan tempat.Time_Minutes : Rata-rata waktu yang dihabiskan di
tempat wisataCoordinate : lokasi latitude dan langitude tempat
wisataLat : Latitude lokasiLong : Longitude lokasiLocation : Asal wisatawanAge : Umur wisatawanDari inspeksi dan deskripsi dataset, kita akan melakukan penggabungan beberapa dataset dan membuang kolom-kolom yang tidak diperlukan dalam analisis ke depannya. Serta melakuakan perubahan tipe data agar hasil analisis lebih akurat.
Untuk langkah awalnya, akan dilakukan penggabungan dari 3 dataset
mengguakan perintah merge.
Akan dilakukan penggabungan dari ketiga dateset yang digunakan
menjadi satu dataset. Langkah pertama, menggabungkan dataset
tourism_rating dan user dengan
User_Id sebagai primary key
data <- merge(x = tourism_rating, y = user,by = "User_Id")
dataKemudian merge lagi dengan dataset tourism_with_id.
Sehingga hasilnya sebagai berikut:
data <- merge(x = tourism_with_id,y = data, by.x = "Place_Id")
dataSetelah datasetnya sudah siap, akan dilakukan pengecekan kembali tipe
datanya dengan menggunakan glimpse
glimpse(data)#> Rows: 10,000
#> Columns: 17
#> $ Place_Id <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,…
#> $ Place_Name <chr> "Monumen Nasional", "Monumen Nasional", "Monumen Nasiona…
#> $ Description <chr> "Monumen Nasional atau yang populer disingkat dengan Mon…
#> $ Category <chr> "Budaya", "Budaya", "Budaya", "Budaya", "Budaya", "Buday…
#> $ City <chr> "Jakarta", "Jakarta", "Jakarta", "Jakarta", "Jakarta", "…
#> $ Price <int> 20000, 20000, 20000, 20000, 20000, 20000, 20000, 20000, …
#> $ Rating <dbl> 4.6, 4.6, 4.6, 4.6, 4.6, 4.6, 4.6, 4.6, 4.6, 4.6, 4.6, 4…
#> $ Time_Minutes <int> 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, …
#> $ Coordinate <chr> "{'lat': -6.1753924, 'lng': 106.8271528}", "{'lat': -6.1…
#> $ Lat <dbl> -6.175392, -6.175392, -6.175392, -6.175392, -6.175392, -…
#> $ Long <dbl> 106.8272, 106.8272, 106.8272, 106.8272, 106.8272, 106.82…
#> $ X <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, …
#> $ X.1 <int> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,…
#> $ User_Id <int> 64, 189, 187, 100, 235, 162, 254, 74, 86, 159, 169, 105,…
#> $ Place_Ratings <int> 2, 5, 4, 1, 4, 5, 5, 2, 4, 1, 5, 5, 4, 5, 4, 5, 4, 2, 5,…
#> $ Location <chr> "Bandung, Jawa Barat", "Cirebon, Jawa Barat", "Yogyakart…
#> $ Age <int> 38, 21, 25, 28, 18, 25, 34, 30, 32, 20, 18, 37, 30, 19, …
Karena dalam analisis berikutnya akan dilakukan pengelompokan tempat wisata yang gratis dan berbayar maka langkah berikutnya adalah mendefenisikan fungsi baru yang akan digunakan untuk membagi kolom menjadi beberapa kategori.
# Function
metode_bayar <- function(y){
if(y == 0)
{
y <- "Gratis" # Metode gratis
}
else
{
y <- "Berbayar" # Metode berbayar
}
}Dalam merapikan dataset kali ini, kita akan membuang sekaligus
mengganti beberapa tipe data kolom, dan menambahkan beberapa kolom yang
dibutuhkan dalam analisis. Untuk melakukan itu semua sekaligus, kita
bisa menggunakan %>% atau pipes untuk menyambungkan
beberapah perintah dalam satu penulisan code.
data1 <- data %>%
#Drop kolom
select(-c(X,X.1,Coordinate,Time_Minutes)) %>%
mutate(
# menambahkan kolom baru
avg = (Rating + Place_Ratings)/2,
Metode = sapply(X = Price, FUN = metode_bayar)) %>%
# ganti tipe data
mutate_at(c("Lat","Long"), as.double) %>%
mutate_at(c("Place_Name","Category","City","Metode","Location"), as.factor)
data1Setelah melakukan pengecekan ternyata ditemukan dua baris yang memiliki koordinat yang salah, sehingga akan dilakukan perbaikan isi di baris tersebut.
# Memperbaiki data
data1$Lat <- str_replace(data1$Lat, "1.07888", "-6.1204747")
data1$Long <- str_replace(data1$Long, "103.931398", "106.8297537")Pertama-tama, akan dilakukan pengecekan missing values pada dataset
dengan menggunakan perintah is.na() dan disambung dengan
colSums()
data1 %>%
is.na() %>%
colSums()#> Place_Id Place_Name Description Category City
#> 0 0 0 0 0
#> Price Rating Lat Long User_Id
#> 0 0 0 0 0
#> Place_Ratings Location Age avg Metode
#> 0 0 0 0 0
Ternyata hasilnya tidak ada data yang kosong.
Selanjutnya dilakuakan pengecekan duplicates pada dataset.
sum(duplicated(data1))#> [1] 79
Hasilnya ternyata ada 79 baris yang duplikat. Maka baris tersebut
bisa dihilangkan dengan perintah distinct.
data1 <- data1 %>% distinct()Sekarang dataset sudah bersih. Kita akan melakukan pengecekan kembali apakah data duplikat sudah tidak ada.
sum(duplicated(data1))#> [1] 0
Hasilnya sekarang sudah benar-benar bersih.
Pada tahap ini, akan dilakukan EDA pada dataset data1
yang telah melalui tahap data processing. Secara singkat, beberapa
informasi dari data bisa didapatkan dengan menggunakan perintah
summary.
Cek Persebaran data:
summary(data1)#> Place_Id Place_Name
#> Min. : 1.0 Gunung Lalakon : 39
#> 1st Qu.:109.0 Gereja Perawan Maria Tak Berdosa Surabaya: 37
#> Median :220.0 Pantai Parangtritis : 37
#> Mean :219.5 Taman Sungai Mudal : 36
#> 3rd Qu.:329.0 Pantai Kesirat : 34
#> Max. :437.0 Geoforest Watu Payung Turunan : 33
#> (Other) :9705
#> Description Category City
#> Length:9921 Bahari :1072 Bandung :2822
#> Class :character Budaya :2665 Jakarta :1902
#> Mode :character Cagar Alam :2397 Semarang :1311
#> Pusat Perbelanjaan: 381 Surabaya :1038
#> Taman Hiburan :3024 Yogyakarta:2848
#> Tempat Ibadah : 382
#>
#> Price Rating Lat Long
#> Min. : 0 Min. :3.400 Length:9921 Length:9921
#> 1st Qu.: 0 1st Qu.:4.400 Class :character Class :character
#> Median : 5000 Median :4.500 Mode :character Mode :character
#> Mean : 23774 Mean :4.446
#> 3rd Qu.: 20000 3rd Qu.:4.600
#> Max. :900000 Max. :5.000
#>
#> User_Id Place_Ratings Location
#> Min. : 1.0 Min. :1.000 Bekasi, Jawa Barat :1247
#> 1st Qu.: 77.0 1st Qu.:2.000 Semarang, Jawa Tengah : 766
#> Median :151.0 Median :3.000 Yogyakarta, DIY : 696
#> Mean :151.3 Mean :3.067 Lampung, Sumatera Selatan: 658
#> 3rd Qu.:226.0 3rd Qu.:4.000 Bogor, Jawa Barat : 582
#> Max. :300.0 Max. :5.000 Cirebon, Jawa Barat : 476
#> (Other) :5496
#> Age avg Metode
#> Min. :18.00 Min. :2.200 Berbayar:6759
#> 1st Qu.:24.00 1st Qu.:3.200 Gratis :3162
#> Median :29.00 Median :3.750
#> Mean :28.73 Mean :3.756
#> 3rd Qu.:34.00 3rd Qu.:4.300
#> Max. :40.00 Max. :5.000
#>
Berdasarkan data diatas, terdapat informasi yang dapat diambil sebagai berikut:
Dari 437 tempat wisata yang tersedia, akan dilihat ada berapa banyak tempat wisata di masing-masing kota.
data1 %>%
count(Place_Name,City) %>%
count(City) %>%
arrange(-n)Hasilnya tempat wisata terbanyak didominasi 2 kota yakni Yogyakarta dan Bandung. Bahkan 2 kota ini masing-masing memeilki jumlah tempat wisata 2-2,5 kali lebih banyak dari kota Semarang dan Surabaya.
Selanjutnya akan dilihat Kota mana yang paling banyak dikunjungi oleh wisatawan.
data1 %>%
count(City) %>%
arrange(-n)Terlihat pula jumlah kunjungan wisatawan terbanyak didominasi pula oleh 2 kota dengan tempat wisata terbanyak. Ternyata ada hubungan antara banyaknya tempat wisata dengan banyaknya wisatawan yang datang. Hal ini bisa menjadi insight bagi pemerintah daerah setempat khususnya dinas pariwisata untuk lebih jeli mengeksplor daerahnya untuk dijadikan tempat wisata demi meningkatkan pendapatan daerahnya.
Selanjutnya akan diamati kategori mana yang paling banyak tempat wisatanya.
data1 %>%
count(Place_Name,Category) %>%
count(Category) %>%
arrange(-n)Hasilnya Taman Hiburan, Budaya, dan Cagar Alam merupakan kategori dengan tempat wisata terbanyak. Sedangkan yang paling sedikit berada di kategori tempat ibadah dan pusat perbelanjaan. Hal ini kemungkinan dikarenakan tempat ibadah dan tempat perbelanjaan memang sedikit yang bisa dijadikan tempat wisata. Apalagi tempat ibadah yang tujuan awal dibangunnya bukan sebagai tempat wisata.
Selanjutnya akan diamati kategori mana yang paling banyak dikunjungi.
data1 %>%
count(Category) %>%
arrange(-n)Kategori Taman Hiburan memiliki jumlah kunjungan wisatwan terbanyak, hal ini dikarenakan jumlah tempat wisata di kategori Taman Hiburan juga banyak.
Sehingga, ini membuktikan adanya hubungan kuat antara banyaknya tempat wisata dan jumlah kunjungan wisatawan.
Selanjutnya akan dilakukan analisis data pada Umur wisatawan. Dengan
menggunakan geom_boxplot kita bisa melihat persebaran dari
umur wisatawan.
plot5 <- ggplot(data1,aes(y = Age))+
geom_boxplot(width = 2,color = "black", fill = "skyblue")+
labs(title = "Boxplot Umur Pengunjung Tempat Wisata di Jakarta",
x = NULL,
y = "Umur")+
theme_minimal()+
theme(#plot.title = element_text(face="bold"),untuk menebalkan judul
legend.position = "none"
)
plot5Karena belum terlihat jelas datanya terpusat dimana, kita akan
menggunakan bantuan summary untuk melihat letak Q1, median
dan Q3.
summary(data1$Age)#> Min. 1st Qu. Median Mean 3rd Qu. Max.
#> 18.00 24.00 29.00 28.73 34.00 40.00
Hasilnya ternyata data wisatawan terpusat di umur 29 dengan rentang umur 24-34 tahun.
Selanjutnya akan dilihat jumlah kunjungan wisatawan berdasarkan
umurnya. Kita akan menggunakan geom_col untuk membuat bar
plot.
age <- data1 %>%
count(Age)
plot_hist <- ggplot(age, aes(Age,n))+
geom_col(fill="skyblue", color="black", alpha=0.5)+
scale_x_continuous(breaks = seq(min(age$Age),max(age$Age),1))+
labs(title = "Distribusi Umur Pengunjung Tempat Wisata di Kota Besar Pulau Jawa",
x = "Umur",
y = "Banyaknya Kunjungan Wisatawan")+
theme_minimal()+
theme(legend.position = "none"
)
plot_histTernyata dari data wisatawan yang ada, wisatawan terbanyak dengan umur 30 dan terendah di umur 36.
###Visualisasi
Kita bisa melihat persebaran umur wisatawan dengan menggunakan boxplot di tiap daerahnya
plot_box <- ggplot(data1,aes(x= City, y = Age))+
geom_boxplot(color = "black", fill = "skyblue",alpha=0.5)+
labs(title = "Demografi Umur Pengunjung Tempat Wisata di Kota Besar Pulau Jawa",
x = NULL,
y = "Umur")+
theme_minimal()+
theme(#plot.title = element_text(face="bold"),untuk menebalkan judul
legend.position = "none"
)
plot_boxTernyata persebaran umur wisatawan yang berkunjung di tiap daerah tidak jauh berbeda.
Untuk memudahkan wisatawan dalam memilih tempat wisata berdasarkan jenis tempatnya yakni berbayar atau gratis, akan dilakukan analisis serta visualisasi terhadap tempat wisata yang gratis dan berbayar.
Pertama, akan dihitung berapa banyak lokasi wisata yang gratis dan berbayar dengan menggunakan metode subsetting.
data1 %>%
filter(Metode == "Gratis") %>%
group_by(Place_Name,City) %>%
count(Metode)data1 %>%
filter(Metode == "Berbayar") %>%
group_by(Place_Name,City) %>%
count(Metode)Ternyata ada 137 Tempat Wisata yang gratis dan 300 tempat wisata yang berbayar.
Selanjutnya kita ingin mengurutkan tempat wisata yang gratis dan berbayar ini berdasarkan penilaian yang diperoleh. Dimana penilaian disini berasal dari rata-rata dari penilaian tempat wisata dan penilaian dari wisatawan.
place <- data1 %>%
select(Place_Name,City,Metode,Rating,Place_Ratings) %>%
group_by(Place_Name,City,Metode) %>%
summarise(Avg_Place = mean(Rating), Avg_User = round(mean(Place_Ratings),3), count = n()) %>%
mutate(Avg_total = (Avg_Place+Avg_User)/2) %>%
# ungroup()%>%
arrange(-Avg_total) %>%
group_by(Metode) %>%
slice(1:5)
placeTernyata Tempat wisata berbayar didominasi oleh Kota Yogyakarta dan temapt wisata gratis didominasi oleh kota Jakarta.
Karena hasil diatas belum mewakili tempat wisata di masing-masing kota maka selanjutnya akan ditampilkan tempat wisata favorit di tiap kotanya berdasarkan rata-rata penilaian.
Untuk melihat visualisasinya, akan dibuat 2 plot secara terpisah yakni untuk tempat wisata yang gratis dan berbayar.
place_free <- data1 %>%
filter(Metode == "Gratis") %>%
select(Place_Name,Category,City,Metode,Rating,Place_Ratings,Price) %>%
group_by(Place_Name,Category,City,Metode,Price) %>%
summarise(Avg_Place = mean(Rating), Avg_User = round(mean(Place_Ratings),3), count = n()) %>%
mutate(Avg_total = (Avg_Place+Avg_User)/2) %>%
# ungroup()%>%
arrange(-Avg_total) %>%
group_by(City) %>%
slice(1) %>%
arrange(-Avg_total)
place_freeplace_paid <- data1 %>%
filter(Metode == "Berbayar") %>%
select(Place_Name,Category,City,Metode,Rating,Place_Ratings,Price) %>%
group_by(Place_Name,Category,City,Metode,Price) %>%
summarise(Avg_Place = mean(Rating), Avg_User = round(mean(Place_Ratings),3), count = n()) %>%
mutate(Avg_total = ((Avg_Place+Avg_User)/2)) %>%
# ungroup()%>%
arrange(-Avg_total) %>%
group_by(City) %>%
slice(1) %>%
arrange(-Avg_total)
place_paidplot_place_free<- ggplot(data = place_free,
aes(x = Avg_total, y = reorder(Place_Name, Avg_total)))+
geom_col(aes(fill=Avg_total),width=0.5)+
scale_fill_gradient(low="skyblue", high="black")+
labs(title = "Tempat Wisata Gratis Terfavorit",
x = "Skor Penilaian",
y = NULL)+
theme_minimal()+
theme(legend.position = "none"
)
plot_place_freeplot_place_paid<- ggplot(data = place_paid,
aes(x = Avg_total, y = reorder(Place_Name, Avg_total)))+
geom_col(aes(fill=Avg_total),width=0.5)+
scale_fill_gradient(low="skyblue", high="black")+
labs(title= "Tempat Wisata Berbayar Terfavorit",
x = "Skor Penilaian",
y = NULL)+
theme_minimal()+
theme(legend.position = "none"
)
plot_place_paidBerdasarkan hasil plot di atas, ada 5 rekomendasi tempat wisata favorit baik itu gratis dan berbayar di setiap kota besar di pulau Jawa. Dan dari daftar tempat wisata favorit tersebut didominasi oleh tempat wisata dengan kategori budaya.
Setelah nama tempat wisata favorit sudah ditentukan, selanjutnya akan dibuatkan sebuah peta persebaran lokasi tempat wisata.
Untuk memudahkan wisatawan menemukan lokasi tempat wisata yang telah
di analisis sebelumnya, maka akan dibuatkan sebuah map dengan
menggunakan library leaflet.
loca <- data1 %>%
group_by(Place_Name,Description,Category,City,Metode,Price,Lat,Long) %>%
summarise(Avg_Place = mean(Rating), Avg_User = round(mean(Place_Ratings),3), count = n()) %>%
mutate(Avg_total = (Avg_Place+Avg_User)/2) %>%
mutate_at(c("Lat","Long"), as.double) %>%
mutate(label = glue(
"<b>Nama: </b> {Place_Name} <br/>
<b>Deskripsi: </b> {Description} <br/>
<b>Kategori: </b> {Category} <br/>
<b>Kota: </b> {City} <br/>
<b>Jenis: </b> {Metode} <br/>
<b>Harga Masuk: </b> Rp.{comma(Price)} <br/>
<b>Penilaian Tempat: </b> {Avg_Place} <br/>
<b>Penilaian dari Pengunjung: </b> {Avg_User} dari <b>{count}</b> pengunjung<br/>
<b>Penilaian Keseluruhan: </b> {Avg_total} <br/>"
))
# create a leaflet map widget
map1 <- leaflet()
# add tiles (kerangka peta) from open street map
map1 <- addTiles(map1, group = "Default") %>%
addProviderTiles(providers$Esri.WorldImagery, group = "Satelite") %>%
addLayersControl(baseGroups = c("Default", "Satelite"))
# add markers
map1 <- addMarkers(map = map1, data = loca, popup = loca$label, clusterOptions = markerClusterOptions()) %>%
addMiniMap(
toggleDisplay = TRUE
)
map1Dalam map di atas, kita bisa melihat informasi tambahan pada setiap lokasi yang dipilih.
Dari skor penilaian yang ditampilkan, muncul sebuah pertanyaan
Apakah ada hubungan antara banyaknya pengunjung dengan penilaian yang diberikan di suatu tempat wisata?
Untuk menjawab pertanyaan tersebut, pertama-tama akan dibuatkan scatter plot untuk melihat kekuatan hubungan kedua variabel tersebut.
scatter <- ggplot(loca, aes(x=count, y=Avg_User)) +
geom_point() +
geom_smooth(method=lm)
scatter
Hasilnya adalah garis datar yang mengidentifikasikan bahwa tidak ada
hubungan antara jumlah pengunjung dan rata-rata penilaian dari
pengunjung. Untuk melihat angka dari kekuatan hubungannya bisa
menggunakan perintah
ggcorr.
library(GGally)
# visualisasi:
ggcorr(loca, label = T)Terlihat bahwa nilai korelasinya berada di 0 yang menandakan bahwa tidak adanya hubungan antara kedua variabel tersebut.
Dari hasil EDA dan visualisasi yang dilakukan, ada beberapa poin kesimpulan yang didapatkan, yakni
Terdapat pilihan tempat wisata favorit di tiap kota besar di pulau Jawa berdasarkan rating yang telah diberikan. Adapun nama tempat wisatanya dibagi menjadi 2 kategori yakni gratis dan berbayar yang diantaranya:
Hasil visualisasi terutama map leafet sangat mempermudah kita untuk menentukan tempat wisata yang ingin dikunjungi. Apalagi dengan disertai deskripsi singkat mengenai tempat tersebut semakin meyakinkan kita dalam memilih tempat wisata.
Ternyata ada hubungan antara banyaknya tempat wisata dengan banyaknya wisatawan yang datang. Hal ini bisa menjadi insight bagi pemerintah daerah setempat khususnya dinas pariwisata untuk lebih jeli mengeksplor daerahnya untuk dijadikan tempat wisata baru demi meningkatkan pendapatan daerahnya.
Terdapat beberapa kategori tempat wisata yang sangat sedikit tempat wisatanya seperti tempat ibadah dan pusat perbelanjaan. Hal ini mungkin disebabkan karena tujuan awal dari tempat tersebut bukan sebagai tempat wisata.