Before travelling, usually we will make a holiday plan about our destination. This project give a little describe about some tourist destination in Yogyakarta.
rating <- read.csv("Data Input/tourism_rating.csv")
place <- read.csv("Data Input/tourism_with_id.csv")
user <- read.csv("Data Input/user.csv")So!! This is our destination data, let’s go to next step
There are many ways to inspect our data, we can use ‘head()’, ‘tail()’, ‘dim()’, or ‘names()’. We have 3 datas, so we will check each data.
head(rating)dim(rating)#> [1] 10000 3
names(rating)#> [1] "User_Id" "Place_Id" "Place_Ratings"
head(place)dim(place)#> [1] 437 13
names(place)#> [1] "Place_Id" "Place_Name" "Description" "Category" "City"
#> [6] "Price" "Rating" "Time_Minutes" "Coordinate" "Lat"
#> [11] "Long" "X" "X.1"
head(user)dim(user)#> [1] 300 3
names(user)#> [1] "User_Id" "Location" "Age"
From rating, place and user data, there are correlation from each other. Rating & place data, have correlation from “Place_Id”, and rating & user data have correlation from User_Id.
str(rating)#> 'data.frame': 10000 obs. of 3 variables:
#> $ User_Id : int 1 1 1 1 1 1 1 1 1 1 ...
#> $ Place_Id : int 179 344 5 373 101 312 258 20 154 393 ...
#> $ Place_Ratings: int 3 2 5 3 4 2 5 4 2 5 ...
str(place)#> 'data.frame': 437 obs. of 13 variables:
#> $ Place_Id : int 1 2 3 4 5 6 7 8 9 10 ...
#> $ Place_Name : chr "Monumen Nasional" "Kota Tua" "Dunia Fantasi" "Taman Mini Indonesia Indah (TMII)" ...
#> $ Description : chr "Monumen Nasional atau yang populer disingkat dengan Monas atau Tugu Monas adalah monumen peringatan setinggi 13"| __truncated__ "Kota tua di Jakarta, yang juga bernama Kota Tua, berpusat di Alun-Alun Fatahillah, yaitu alun-alun yang ramai d"| __truncated__ "Dunia Fantasi atau disebut juga Dufan adalah tempat hiburan yang terletak di kawasan Taman Impian Jaya Ancol, J"| __truncated__ "Taman Mini Indonesia Indah merupakan suatu kawasan taman wisata bertema budaya Indonesia di Jakarta Timur. Area"| __truncated__ ...
#> $ Category : chr "Budaya" "Budaya" "Taman Hiburan" "Taman Hiburan" ...
#> $ City : chr "Jakarta" "Jakarta" "Jakarta" "Jakarta" ...
#> $ Price : int 20000 0 270000 10000 94000 25000 4000 180000 175000 150000 ...
#> $ Rating : num 4.6 4.6 4.6 4.5 4.5 4.5 4.5 4 4.4 4.5 ...
#> $ Time_Minutes: int 15 90 360 NA 60 10 NA NA NA NA ...
#> $ Coordinate : chr "{'lat': -6.1753924, 'lng': 106.8271528}" "{'lat': -6.137644799999999, 'lng': 106.8171245}" "{'lat': -6.125312399999999, 'lng': 106.8335377}" "{'lat': -6.302445899999999, 'lng': 106.8951559}" ...
#> $ Lat : num -6.18 -6.14 -6.13 -6.3 -6.12 ...
#> $ Long : num 107 107 107 107 107 ...
#> $ X : logi NA NA NA NA NA NA ...
#> $ X.1 : int 1 2 3 4 5 6 7 8 9 10 ...
str(user)#> 'data.frame': 300 obs. of 3 variables:
#> $ User_Id : int 1 2 3 4 5 6 7 8 9 10 ...
#> $ Location: chr "Semarang, Jawa Tengah" "Bekasi, Jawa Barat" "Cirebon, Jawa Barat" "Bekasi, Jawa Barat" ...
#> $ Age : int 20 21 23 21 20 18 39 40 38 39 ...
place <- place[,!names(place)%in% c("X","X.1","Time_Minutes"), drop=F]
head(place)place_yogya <- place[place$City=="Yogyakarta",]
head(place_yogya)place_yogya$Place_Name <- as.factor(place_yogya$Place_Name)
place_yogya$Category <- as.factor(place_yogya$Category)place_yogya_merge <- merge(place_yogya,rating,by.x = "Place_Id", by.y = "Place_Id")
place_yogya_merge <- merge(place_yogya_merge,user,by.x = "User_Id", by.y = "User_Id")
head(place_yogya_merge)place_yogya_rating_freq <- aggregate(x=Place_Ratings~Place_Name,
data = place_yogya_merge,
FUN = length)head(place_yogya_rating_freq[
order(place_yogya_rating_freq$Place_Ratings,
decreasing = T),],5)“Pantai Parangtritis” is the most rated place.
head(place_yogya[order(place_yogya$Rating,decreasing = T),names(place_yogya)%in%c("Place_Name","Rating")],5)“Desa Wisata Sungai Code Jogja Kota” and “Kauman Pakualaman Yogyakarta” are the highest rating, 5 of 5.
number_category <- as.data.frame(sort(table(place_yogya$Category),decreasing = T))
number_categorybarplot(Freq~Var1, number_category)“Taman Hiburan” Category have most destination place.
aggregate(x=Price~Category,data = place_yogya, FUN = mean)“Budaya” Category has the highest average price.
place_price <- aggregate(x=Price~Place_Name,data = place_yogya, FUN = max)
place_price[order(place_price$Price,decreasing = T),][0:5,]“Goa Jomblang” has highest price place.
place_price_charge <- place_price[place_price$Price!=0,]
place_price_charge[order(place_price_charge$Price,decreasing = F),][0:5,]place_yogya[place_yogya$Price==0,2]#> [1] Situs Warungboto Nol Kilometer Jl.Malioboro
#> [3] Desa Wisata Sungai Code Jogja Kota Alun Alun Selatan Yogyakarta
#> [5] Kampung Wisata Kadipaten Taman Budaya Yogyakarta
#> [7] Kampung Wisata Sosro Menduran Tugu Pal Putih Jogja
#> [9] Candi Donotirto Kawasan Malioboro
#> [11] Embung Tambakboyo Gedung Agung Yogyakarta
#> [13] Kampung Wisata Rejowinangun Kauman Pakualaman Yogyakarta
#> [15] Alun-alun Utara Keraton Yogyakarta Gumuk Pasir Parangkusumo
#> [17] Kawasan Wisata Sosrowijayan Bendung Lepen
#> [19] Ledok Sambi Bentara Budaya Yogyakarta (BBY)
#> [21] Desa Wisata Kelor Pasar Kebon Empring Bintaran
#> [23] Geoforest Watu Payung Turunan Pasar Beringharjo
#> [25] Desa Wisata Pulesari
#> 126 Levels: Air Terjun Kedung Pedut ... Wisata Kraton Jogja
There are 25 free charge places
as.data.frame(table(place_yogya[place_yogya$Price==0,4]))Taman Hiburan is most free charge Place
as.data.frame(sort(table(place_yogya_merge$Location),decreasing = T)[1:5])Yogyakarta have many travelling destination, from free of charges and charges. Yogyakarta have 25 free charge travelling destination. So, if you want to travelling around yogyakarta with low budget, you can consider to visit those 25 places. But in Yogyakarta, also there are charges place with low charge, start from IDR 2.000,00 and the highest charges place IDR 500.000,00. If budget not in your concern, you can choose your destination from most rated and highest rating place in Yogyakarta. Happy Holiday!!!