Library

library(scales)
## Warning: package 'scales' was built under R version 3.6.2

Upload Data

book <- read.csv("Dataset/bestsellers with categories.csv")
book

Cek Data

Memeriksa data NA

book$Year <- factor(book$Year)
colSums(is.na(book))
##        Name      Author User.Rating     Reviews       Price        Year 
##           0           0           0           0           0           0 
##       Genre 
##           0
book

Tidak ada data NA

Memeriksa struktur data

str(book)
## 'data.frame':    550 obs. of  7 variables:
##  $ Name       : Factor w/ 351 levels "10-Day Green Smoothie Cleanse",..: 1 2 3 4 5 6 7 8 9 10 ...
##  $ Author     : Factor w/ 248 levels "Abraham Verghese",..: 125 220 135 96 175 97 97 13 115 90 ...
##  $ User.Rating: num  4.7 4.6 4.7 4.7 4.8 4.4 4.7 4.7 4.7 4.6 ...
##  $ Reviews    : int  17350 2052 18979 21424 7665 12643 19735 19699 5983 23848 ...
##  $ Price      : int  8 22 15 6 12 11 30 15 3 8 ...
##  $ Year       : Factor w/ 11 levels "2009","2010",..: 8 3 10 9 11 3 6 9 10 8 ...
##  $ Genre      : Factor w/ 2 levels "Fiction","Non Fiction": 2 1 2 1 2 1 1 1 2 1 ...

Exploratory Data

Melihat Autor dengan rerata rating tertinggi

book_agg <- aggregate(User.Rating~Author+Year+Genre,data = book,FUN = mean)
book_agg[order(book_agg$User.Rating,decreasing = T),]

Genre Buku apa dengan rating paling tinggi

aggregate(User.Rating~Genre,data = book_agg,FUN = mean)

Rating antar Genre buku tidak berbeda secara signifikan, baik buku dengan Genre Fiction atau Non Fiction sama-sama digemari, terlihat dari ratingnya yang sama-sama diatas 4.5

Author berdasarkan Genre

tail(addmargins(prop.table(table(book$Author,book$Genre))),20)
##                                    
##                                         Fiction Non Fiction         Sum
##   Tatiana de Rosnay                 0.001818182 0.000000000 0.001818182
##   The College Board                 0.000000000 0.010909091 0.010909091
##   The Staff of The Late Show withÂ… 0.000000000 0.001818182 0.001818182
##   The Washington Post               0.000000000 0.001818182 0.001818182
##   Thomas Campbell                   0.000000000 0.001818182 0.001818182
##   Thomas Piketty                    0.000000000 0.001818182 0.001818182
##   Thug Kitchen                      0.000000000 0.007272727 0.007272727
##   Timothy Ferriss                   0.000000000 0.003636364 0.003636364
##   Tina Fey                          0.000000000 0.001818182 0.001818182
##   Todd Burpo                        0.000000000 0.003636364 0.003636364
##   Tony Hsieh                        0.000000000 0.001818182 0.001818182
##   Tucker Carlson                    0.000000000 0.001818182 0.001818182
##   Veronica Roth                     0.007272727 0.000000000 0.007272727
##   W. Cleon Skousen                  0.000000000 0.001818182 0.001818182
##   Walter Isaacson                   0.000000000 0.005454545 0.005454545
##   William Davis                     0.000000000 0.003636364 0.003636364
##   William P. Young                  0.003636364 0.000000000 0.003636364
##   Wizards RPG Team                  0.005454545 0.000000000 0.005454545
##   Zhi Gang Sha                      0.000000000 0.003636364 0.003636364
##   Sum                               0.436363636 0.563636364 1.000000000

Author dengan User.Rating tertinggi

book_auth <- aggregate(User.Rating~Author+Price+Year,data=book,FUN = mean)
book_auth[order(book_auth$User.Rating,decreasing = T),]
addmargins(table(book_auth$Year,book_auth$User.Rating))
##       
##        3.3 3.6 3.8 3.9   4 4.1 4.2 4.3 4.4 4.5 4.55 4.6 4.65 4.7 4.75 4.8 4.9
##   2009   0   0   0   0   2   0   2   3   3   5    0  14    0  10    0  11   0
##   2010   0   0   0   0   1   1   2   3   6   7    0  11    0  12    0   7   0
##   2011   0   0   0   0   1   1   2   4   7   4    0  11    0  10    1   6   1
##   2012   1   0   1   0   2   0   1   2   6   7    0  13    0   7    0   6   3
##   2013   0   0   1   2   2   2   0   2   4   6    1   8    0   6    0   9   6
##   2014   0   0   0   1   2   0   0   1   2   7    1   9    1   7    0  11   5
##   2015   0   1   0   0   1   1   0   0   1   4    1   9    0  10    0  15   4
##   2016   0   0   0   0   2   1   0   1   1   3    0   7    0  14    0  13   8
##   2017   0   0   0   0   1   0   0   3   2   5    0  10    0  11    0  11   7
##   2018   0   0   0   0   0   0   1   4   4   4    0   5    0   9    0  16   6
##   2019   0   0   0   0   0   0   0   2   1   3    0   5    0   6    0  21  10
##   Sum    1   1   2   3  14   6   8  25  37  55    3 102    1 102    1 126  50
##       
##        Sum
##   2009  50
##   2010  50
##   2011  48
##   2012  49
##   2013  49
##   2014  47
##   2015  47
##   2016  50
##   2017  50
##   2018  49
##   2019  48
##   Sum  537

Author dengan harga buku termahal

book_auth[order(book_auth$Price,decreasing = T),-3]

Apakah buku yang banyak direview mempunyai rating yang tinggi

jumlah reviews pada rating tertentu

xtabs(Reviews~User.Rating,data = book)
## User.Rating
##     3.3     3.6     3.8     3.9       4     4.1     4.2     4.3     4.4     4.5 
##    9372   14982   94530   73998  243266  194305   34268  209072  267481  553867 
##     4.6     4.7     4.8     4.9 
##  972304 1475380 1757694  673786

porsi reviews pada rating tertentu

round(prop.table(xtabs(Reviews~User.Rating,data = book)),2)
## User.Rating
##  3.3  3.6  3.8  3.9    4  4.1  4.2  4.3  4.4  4.5  4.6  4.7  4.8  4.9 
## 0.00 0.00 0.01 0.01 0.04 0.03 0.01 0.03 0.04 0.08 0.15 0.22 0.27 0.10

Apakah buku yang bagus memiliki harga yang mahal

aggregate(Price~User.Rating,data = book,FUN = mean)

Analisa

  1. Rating untuk Genre Buku fiksi dan non fiksi tidak berbeda secara signifikan
  2. Lebih banyak Author yang menulis buku Non Fiksi sebanyak 56 % dalam kurun waktu 2009 - 2019
  3. Buku Best Seller ini memiliki rerata rating > 4.5
  4. Buku yang memiliki banyak reviews cenderung memiliki rating yang tinggi
  5. Buku yang bagus tidak memiliki harga yang mahal, faktanya ada buku dengan rating < 4 memiliki harga yang lebih tinggi dari buku dengan rating 4.9