Project kali ini yaitu melakukan analisi terhadap penjualan video games dari tahun 1980 sampai dengan 2020 dari berbagai platform dan genre. data tersebut saya dapatkan dari kaggle pada link:
[kaggle] : https://www.kaggle.com/gregorut/videogamesales
Beberapa pertanyaan untuk analisa kasus bisnis yang akan dibahas pada project ini yaitu:
Membaca file dengan format .csv
## [1] "Rank" "Name" "Platform" "Year" "Genre"
## [6] "Publisher" "NA_Sales" "EU_Sales" "JP_Sales" "Other_Sales"
## [11] "Global_Sales"
## [1] 16598 11
## 'data.frame': 16598 obs. of 11 variables:
## $ Rank : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Name : chr "Wii Sports" "Super Mario Bros." "Mario Kart Wii" "Wii Sports Resort" ...
## $ Platform : chr "Wii" "NES" "Wii" "Wii" ...
## $ Year : chr "2006" "1985" "2008" "2009" ...
## $ Genre : chr "Sports" "Platform" "Racing" "Sports" ...
## $ Publisher : chr "Nintendo" "Nintendo" "Nintendo" "Nintendo" ...
## $ NA_Sales : num 41.5 29.1 15.8 15.8 11.3 ...
## $ EU_Sales : num 29.02 3.58 12.88 11.01 8.89 ...
## $ JP_Sales : num 3.77 6.81 3.79 3.28 10.22 ...
## $ Other_Sales : num 8.46 0.77 3.31 2.96 1 0.58 2.9 2.85 2.26 0.47 ...
## $ Global_Sales: num 82.7 40.2 35.8 33 31.4 ...
berdasarkan tipe data diatas, tipe data sudah pada tipe yang tepat. sehingga tidak perlu dilakukan perubahan
# subset terhadap kolom Platform dan Global_Sales
platform <- vg[,c("Platform","Global_Sales")]
# aggregasi menggunakan fungsi table untuk mengetahui frekuensi yang muncul pada kolom platform dan ploting pie chart
pie(head(sort(table(platform$Platform), decreasing = T), n= 5),
main = "Top 5 Favorite Platform")
# aggregasi pada kolom Platform dan Global_Sales untuk mencari rata-rata
agg_platform <- aggregate(Global_Sales~Platform, platform, FUN = mean)
# sorting terhadap kolom Global_Sales
sort_platform <- head(agg_platform[order(agg_platform$Global_Sales, decreasing = T),], n = 5)
sort_platform
# subseting pada 5 Platform dengan nilai mean tertinggi
top_platform <- platform[platform$Platform == c("GB","NES","GEN","SNES","PS4"),]
## Warning in platform$Platform == c("GB", "NES", "GEN", "SNES", "PS4"): longer
## object length is not a multiple of shorter object length
# box plot
boxplot(Global_Sales~Platform, top_platform, outline = F,
main = "Top 5 Platform by Global Sales")
dari boxplot diatas, dapat disimpulan bahwa nilai median tertinggi pada 5 Platform adalah GEN, diikuti dengan GB, NES, SNES dan PS4
# subset pada kolom Genre dan Global Sales
genre <- vg[,c("Genre","Global_Sales")]
barplot(head(sort(table(genre$Genre),decreasing = T), n= 5),
main = "Top 5 Favorite Genre",
xlab = "Genre",
ylab = "Freq")
agg_genre <- aggregate(Global_Sales~Genre, genre, FUN = mean)
agg_genre <- agg_genre[order(agg_genre$Global_Sales, decreasing = T),]
head(agg_genre)
# subset pada baris dengan rata-rata tertinggi
top_genre <- genre[genre$Genre == c("Action","Sports","Misc","Role-Playing","Shooter"),]
## Warning in genre$Genre == c("Action", "Sports", "Misc", "Role-Playing", : longer
## object length is not a multiple of shorter object length
# ploting dengan boxplot
boxplot(Global_Sales~Genre, top_genre, outline = F,
main = "Top 5 Genre by Global Sales",
xlab = "Genre",
ylab = "Global Sales")
pada boxplot diatas, dapat disimpulkan bahwa nilai median tertinggi pada 5 Genre diatas adalah Shooter, diikutio dengan Sports, Action, Role-Playing dan Misc
publisher <- vg[,c("Publisher","Global_Sales")]
fav_publisher <- head(sort(table(publisher$Publisher),decreasing = T), n = 5)
pie(fav_publisher,
main = "Top 5 Favorite Publisher")
# Aggregasi terhadap kolom Pubsliher dan Global_Sales
agg_publisher <- aggregate(Global_Sales ~ Publisher, publisher, FUN = mean)
# sorting terhadap kolom Global_Sales
sort_agg_publisher <- agg_publisher[order(agg_publisher$Global_Sales, decreasing = T),]
head(sort_agg_publisher, n = 5)
# subet pada 5 baris dengan nilai Global_Sales tertinggi
top_publisher <- publisher[publisher$Publisher == "Palcom"|publisher$Publisher == "Red Orb"|publisher$Publisher == "Nintendo"
|publisher$Publisher == "Arena Entertainment"|publisher$Publisher == "UEP Systems",]
pada boxplot diatas, didapat bahwa nilai median tertinggi pada 5 Publisher adalah Palcom, diikuti dengan Red Orb Arena Entertainment, UEP Systems, dan Nintendo. namun, pada Publisher Palcom dan UEP Systems, masing-masing hanya memiliki 1 data penjualan. sehingga tidak didapatkan adanya sebaran data yaitu min, max dan range.
# drop baris yang memiliki nilai N/A pada kolm year
sales_year <- sales_year[drop(sales_year$Year != "N/A"),]
# ploting data
plot(x = sales_year$Year, y = sales_year$Global_Sales,
type = "l",
main = "Global Sales of Game 1980 - 2020",
xlab = "Year",
ylab = "Global Sales")
plot(vg$JP_Sales, vg$Global_Sales,
main = "JP Sales vs Global Sales",
xlab = "JP Sales",
ylab = "Global Sales")
pada scatter plot diatas, terlihat adanya hubungan antara JP Sales dengan Global Sales, dimana semakin tinggi nilai JP Sales, maka semakin tinggi pula nilai Global Sales
## [1] 0.6118155
didapat nilai korelasi sebesar 0.6. artinya, hubungan antara JP Sales dan Global Sales yaitu positif correlation dengan level moderate
Untuk membuktikan hipotesa bahwa jika semakin besar JP Sales, maka semakin besar nilai Global Sales, kita dapat menggunakan motede t-test. yaitu untuk membuktikan apakah hipotesa tersebut diterima atau tidak
## [1] 16598 11
## [1] 0.07778166
## [1] 0.5374407
## [1] 0.3092906
## [1] 1.555028
jp_sales <- rnorm(16598, mean = 0.07778, sd = 0.3092906)
global_sales <- rnorm(16958, mean = 0.5374407, sd = 1.555028)
t.test(jp_sales, global_sales)
##
## Welch Two Sample t-test
##
## data: jp_sales and global_sales
## t = -37.861, df = 18352, p-value < 2.2e-16
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## -0.4819881 -0.4345382
## sample estimates:
## mean of x mean of y
## 0.07373261 0.53199577
didapat dari hasil t-test adalah, nilai p-value sebesar 0.00000000000000022. artinya, nilai p-value < 0.5 atau hipotesa diterima
kesimpulannya adalah besarnya penjualan game yang populer di jepang berpengaruh juga pada penjualan game yang populer didunia