R Markdown

This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.

When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

summary(cars)
##      speed           dist       
##  Min.   : 4.0   Min.   :  2.00  
##  1st Qu.:12.0   1st Qu.: 26.00  
##  Median :15.0   Median : 36.00  
##  Mean   :15.4   Mean   : 42.98  
##  3rd Qu.:19.0   3rd Qu.: 56.00  
##  Max.   :25.0   Max.   :120.00

Including Plots

You can also embed plots, for example:

Note that the echo = FALSE parameter was added to the code chunk to prevent printing of the R code that generated the plot.

library(DBI)
## Warning: package 'DBI' was built under R version 4.4.2
library(ggplot2)
## Warning: package 'ggplot2' was built under R version 4.4.2
library(scales)
## Warning: package 'scales' was built under R version 4.4.2
con2 <- DBI::dbConnect(odbc::odbc(),
                       Driver = "MySQL ODBC 8.0 ANSI Driver",
                       Server = "127.0.0.1",
                       Database = "classicmodels",
                       UID = "root",
                       PWD = "fiaokta2",
                       Port = 3306)
# Histogram nilai orders dari negara Nordic

query3 <- "SELECT c.country, (od.quantityOrdered * od.priceEach) AS value
FROM customers c
JOIN orders o ON c.customerNumber = o.customerNumber
JOIN orderdetails od ON o.orderNumber = od.orderNumber
WHERE c.country IN ('Denmark','Finland','Norway','Sweden')"

query3
## [1] "SELECT c.country, (od.quantityOrdered * od.priceEach) AS value\nFROM customers c\nJOIN orders o ON c.customerNumber = o.customerNumber\nJOIN orderdetails od ON o.orderNumber = od.orderNumber\nWHERE c.country IN ('Denmark','Finland','Norway','Sweden')"
data3 <- dbGetQuery(con2, query3)
data3
##      country   value
## 1     Norway 5571.80
## 2     Norway 5026.14
## 3     Norway 3284.28
## 4     Norway 3307.50
## 5     Norway 1283.48
## 6     Norway 2489.13
## 7     Norway 2164.40
## 8     Norway 2173.00
## 9     Norway 3970.26
## 10    Norway 3530.52
## 11    Norway 1670.75
## 12    Norway 3864.24
## 13    Norway 2215.50
## 14    Norway 2866.26
## 15    Norway 2850.75
## 16    Norway 3950.94
## 17    Norway 1491.38
## 18    Norway 3884.34
## 19    Norway 3759.60
## 20    Norway 2035.32
## 21    Norway 1429.44
## 22    Norway 4694.50
## 23    Norway 2073.12
## 24    Norway 5241.44
## 25    Norway 8116.50
## 26    Norway 3986.40
## 27    Norway 2753.76
## 28    Norway 5048.12
## 29    Norway 1686.06
## 30    Norway 1548.40
## 31    Norway 3782.90
## 32    Norway 2474.56
## 33    Sweden 5717.64
## 34    Sweden 1957.30
## 35    Sweden 5730.04
## 36    Sweden 3575.95
## 37    Sweden 2425.92
## 38    Sweden 3491.00
## 39    Sweden 1576.12
## 40    Sweden 3033.28
## 41    Sweden 3686.50
## 42    Sweden 4937.63
## 43    Sweden 3556.34
## 44    Sweden 1626.80
## 45    Sweden 2366.13
## 46    Sweden 3380.26
## 47    Sweden 4968.00
## 48    Sweden 1797.58
## 49    Sweden 2946.60
## 50    Sweden 4983.79
## 51    Sweden 4937.94
## 52   Denmark 6392.00
## 53   Denmark 8434.52
## 54   Denmark 4114.52
## 55   Denmark 3004.98
## 56   Denmark 3333.74
## 57   Denmark 3094.68
## 58   Denmark 5072.71
## 59   Denmark 3232.24
## 60   Denmark 3773.50
## 61   Denmark 2214.00
## 62   Denmark 2511.69
## 63   Denmark 1882.32
## 64   Denmark 3594.24
## 65   Denmark 2184.82
## 66   Denmark 1119.25
## 67   Denmark 4521.72
## 68   Denmark 3031.08
## 69   Denmark 1468.40
## 70   Denmark 2802.35
## 71   Denmark 7058.45
## 72   Denmark 5303.32
## 73   Denmark 2532.36
## 74   Denmark 1494.02
## 75   Denmark 3178.66
## 76   Denmark 1532.07
## 77   Denmark 3863.50
## 78   Denmark 3345.30
## 79   Denmark 1871.00
## 80   Denmark 1593.60
## 81   Denmark 1366.05
## 82   Denmark 3661.02
## 83   Denmark 3086.54
## 84   Denmark 1777.85
## 85   Denmark 7598.16
## 86   Denmark 6418.56
## 87   Denmark 7621.90
## 88  Norway   4202.82
## 89  Norway   3189.76
## 90  Norway   1340.60
## 91  Norway   3855.60
## 92  Norway   5480.64
## 93  Norway   5226.48
## 94  Norway   1643.18
## 95  Norway   2718.45
## 96  Norway   3528.36
## 97  Norway   6629.85
## 98  Norway   2195.10
## 99  Norway   2651.66
## 100 Norway   5344.56
## 101 Norway   1539.52
## 102 Norway   1215.45
## 103 Norway   1253.27
## 104 Norway   3054.25
## 105 Norway   4593.60
## 106 Norway   4248.40
## 107 Norway   8191.80
## 108 Norway   1666.88
## 109 Norway   2395.00
## 110 Norway   2468.00
## 111 Norway   3604.04
## 112 Norway   2787.19
## 113 Norway   3513.86
## 114 Norway   1074.00
## 115 Norway   6095.25
## 116 Norway   1854.90
## 117  Finland 4134.40
## 118  Finland 5273.26
## 119  Finland 3671.36
## 120  Finland 3070.23
## 121  Finland 1433.82
## 122  Finland 1922.70
## 123  Finland 2823.47
## 124  Finland 2582.36
## 125  Finland 2867.52
## 126  Finland 1755.00
## 127  Finland 3302.40
## 128  Finland 3094.52
## 129  Finland 1671.44
## 130  Finland 1760.88
## 131  Finland 4773.69
## 132  Finland 2964.24
## 133  Finland 2424.63
## 134  Finland 5832.96
## 135  Finland 5032.29
## 136  Finland 1942.71
## 137  Finland 2121.28
## 138  Finland  869.04
## 139  Finland 3218.60
## 140  Finland 3400.76
## 141  Finland 1570.56
## 142  Finland 5643.00
## 143  Finland 4359.60
## 144  Finland 1909.60
## 145  Finland 4506.48
## 146  Finland 5613.66
## 147  Denmark 3408.16
## 148  Denmark 4387.72
## 149  Denmark 6691.68
## 150  Denmark 2884.20
## 151  Denmark 4780.80
## 152  Denmark 1568.00
## 153  Denmark 2719.13
## 154  Denmark 1087.67
## 155  Denmark 1653.80
## 156  Denmark 2701.00
## 157  Denmark 1455.40
## 158  Denmark 2826.90
## 159  Denmark 6711.94
## 160  Denmark 5768.40
## 161  Denmark 6104.16
## 162  Denmark 4319.55
## 163  Denmark 5707.80
## 164  Denmark 2595.20
## 165  Denmark 1948.33
## 166  Denmark 3748.54
## 167  Denmark 2263.36
## 168  Denmark 1240.98
## 169  Denmark 4224.84
## 170  Denmark 2044.35
## 171  Denmark 3241.00
## 172  Denmark 1914.44
## 173  Denmark 1912.45
## 174 Norway   6173.55
## 175 Norway   2121.33
## 176 Norway   2238.72
## 177 Norway   1952.40
## 178 Norway   2333.37
## 179 Norway   1375.71
## 180 Norway   1399.65
## 181 Norway   3027.00
## 182 Norway   1180.74
## 183 Norway   2104.56
## 184 Norway   4307.85
## 185 Norway   1700.00
## 186 Norway   2345.28
## 187 Norway   4242.05
## 188 Norway   3783.04
## 189 Norway   5616.03
## 190 Norway   2497.44
## 191 Norway   3115.81
## 192 Norway   5344.56
## 193 Norway   1746.09
## 194 Norway    896.50
## 195 Norway   1540.80
## 196 Norway   1908.06
## 197 Norway   6108.50
## 198  Finland 2758.80
## 199  Finland 6547.61
## 200  Finland 5232.22
## 201  Finland 2275.26
## 202  Finland 3520.65
## 203  Finland 4615.80
## 204  Finland  880.50
## 205  Finland 2288.25
## 206  Finland 1774.89
## 207  Finland 2829.06
## 208  Finland 2103.99
## 209  Finland 3223.22
## 210  Finland 6367.09
## 211  Finland  649.40
## 212  Finland 3868.89
## 213  Finland 4614.48
## 214  Finland 4018.00
## 215  Finland 1665.40
## 216  Finland 4976.00
## 217  Finland 2238.96
## 218  Finland 2716.23
## 219  Finland 2480.32
## 220  Finland 1928.78
## 221  Finland 2421.90
## 222  Finland 2552.00
## 223  Finland 2462.08
## 224  Finland 2844.99
## 225  Finland 3201.44
## 226  Finland 3086.54
## 227  Finland 3064.95
## 228  Finland 1105.00
## 229  Finland 1393.45
## 230  Finland 2413.95
## 231  Finland 6257.94
## 232  Finland 4845.23
## 233  Finland 4893.96
## 234  Finland 1017.20
## 235  Finland  675.78
## 236  Finland 4163.60
## 237  Finland 1272.72
## 238  Finland 4176.48
## 239  Finland 8594.52
## 240  Finland 3512.50
## 241  Finland 4531.41
## 242  Finland 6893.76
## 243  Finland 2336.40
## 244  Finland 2525.95
## 245  Finland 5971.35
## 246  Finland 3633.58
## 247  Finland 2333.42
## 248  Finland 4767.44
## 249  Finland 1355.20
## 250  Finland 3180.90
## 251  Finland 2998.56
## 252  Finland 1671.04
## 253  Finland 3458.00
## 254  Finland 1471.68
## 255  Finland 2412.30
## 256  Finland 1093.05
## 257  Finland 3526.25
## 258  Finland 3267.57
## 259  Finland 4645.00
## 260   Sweden 5445.44
## 261   Sweden 6102.56
## 262   Sweden 3205.28
## 263   Sweden 2879.80
## 264   Sweden 3649.80
## 265   Sweden 1151.01
## 266   Sweden 1540.00
## 267   Sweden 2062.08
## 268   Sweden 2140.20
## 269   Sweden 2838.00
## 270   Sweden 2546.20
## 271   Sweden 2859.36
## 272   Sweden 2043.36
## 273   Sweden 2335.76
## 274   Sweden 1708.40
## 275   Sweden 1659.84
## 276   Sweden 7770.37
## 277   Sweden 4254.90
## 278   Sweden 5043.00
## 279   Sweden 3970.44
## 280   Sweden 1358.76
## 281   Sweden 4666.16
## 282   Sweden 2079.77
## 283   Sweden 2143.60
## 284   Sweden 4649.28
## 285   Sweden 1313.12
## 286   Sweden 5275.20
## 287   Sweden 2153.58
## 288   Sweden 1696.00
## 289   Sweden 2435.72
## 290   Sweden 4755.40
## 291   Sweden 2378.25
## 292   Sweden 2757.96
## 293   Sweden 4817.03
## 294   Sweden 3131.59
## 295   Sweden 2031.51
## 296   Sweden 5071.50
## 297   Sweden 3023.30
ggplot(data3, aes(x = value)) +
  
  geom_histogram(binwidth = 1000, fill = "purple", color = "black", alpha = 0.8) +
  
  theme_minimal() +
  
  labs(title = "Histogram Nilai Orders dari Negara Nordic",
       
       x = "Nilai Orders (USD)",
       
       y = "Frekuensi") +
  
  scale_x_continuous(labels = scales::comma)

# Heatmap product line dan kota di Norway

query4 <- "SELECT c.city, p.productLine,
SUM(od.quantityOrdered) AS totalQuantity
FROM customers c
JOIN orders o ON c.customerNumber = o.customerNumber
JOIN orderdetails od ON o.orderNumber = od.orderNumber
JOIN products p ON od.productCode = p.productCode
WHERE c.country = 'Norway'
GROUP BY c.city, p.productLine"

query4
## [1] "SELECT c.city, p.productLine,\nSUM(od.quantityOrdered) AS totalQuantity\nFROM customers c\nJOIN orders o ON c.customerNumber = o.customerNumber\nJOIN orderdetails od ON o.orderNumber = od.orderNumber\nJOIN products p ON od.productCode = p.productCode\nWHERE c.country = 'Norway'\nGROUP BY c.city, p.productLine"
data4 <- dbGetQuery(con2, query4)
data4
##       city      productLine totalQuantity
## 1  Stavern     Classic Cars           267
## 2  Stavern Trucks and Buses           308
## 3  Stavern     Vintage Cars           223
## 4  Stavern      Motorcycles           212
## 5  Stavern           Trains            72
## 6   Bergen     Classic Cars           522
## 7   Bergen      Motorcycles           272
## 8   Bergen           Planes            29
## 9   Bergen     Vintage Cars           150
## 10    Oslo           Planes           296
## 11    Oslo     Vintage Cars           122
## 12    Oslo     Classic Cars           369
ggplot(data4, aes(x = productLine, y = city, fill = totalQuantity)) +
  
  geom_tile(color = "white") +
  
  scale_fill_gradient(low = "lightblue", high = "darkblue") +
  
  theme_minimal() +
  
  labs(title = "Heatmap Penjualan Product Line di Kota-Kota Norway",
       
       x = "Product Line",
       
       y = "Kota",
       
       fill = "Total Quantity") +
  
  theme(axis.text.x = element_text(angle = 45, hjust = 1))