To find relationship between sales and other variables.
A data frame with 548 observations on 7 variables
[, 1] Unique Market ID
[, 2] Size of the Market
[, 3] Unique Location ID
[, 4] How old the store is (in years)
[, 5] 3 types of Promotion
[, 6] Week number of the month
[, 7] Sales in thousand dollars
Setup
library(tidyr)
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
library(corrgram)
library(gridExtra)
##
## Attaching package: 'gridExtra'
## The following object is masked from 'package:dplyr':
##
## combine
Functions
Dataset
dfrModel <- read.csv('./data/EnigmaticsCase_DataFile.csv', header = T, stringsAsFactors = F)
head(dfrModel)
## MarketID MarketSize LocationID AgeOfStore Promotion Week
## 1 1 2 1 4 3 1
## 2 1 2 1 4 3 2
## 3 1 2 1 4 3 3
## 4 1 2 1 4 3 4
## 5 1 2 2 5 2 1
## 6 1 2 2 5 2 2
## SalesInThousands
## 1 33.73
## 2 35.67
## 3 29.03
## 4 39.25
## 5 27.81
## 6 34.67
Summary
lapply(dfrModel, FUN=summary)
## $MarketID
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 3.000 6.000 5.715 8.000 10.000
##
## $MarketSize
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 1.000 2.000 1.803 2.000 3.000
##
## $LocationID
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.0 216.0 504.0 479.7 708.0 920.0
##
## $AgeOfStore
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 4.000 7.000 8.504 12.000 28.000
##
## $Promotion
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.000 1.000 2.000 2.029 3.000 3.000
##
## $Week
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 1.75 2.50 2.50 3.25 4.00
##
## $SalesInThousands
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 17.34 42.54 50.20 53.47 60.48 99.65
lapply(dfrModel, FUN = as.numeric)
## $MarketID
## [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [24] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [47] 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
## [70] 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
## [93] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
## [116] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
## [139] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
## [162] 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4
## [185] 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5
## [208] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
## [231] 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5
## [254] 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
## [277] 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6
## [300] 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7
## [323] 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
## [346] 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7
## [369] 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8
## [392] 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8
## [415] 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9
## [438] 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9
## [461] 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
## [484] 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
## [507] 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
## [530] 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10
##
## $MarketSize
## [1] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
## [36] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
## [71] 3 3 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [106] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [141] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3
## [176] 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 2 2
## [211] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
## [246] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
## [281] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
## [316] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
## [351] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
## [386] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
## [421] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
## [456] 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [491] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [526] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
##
## $LocationID
## [1] 1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5
## [18] 5 5 5 6 6 6 6 7 7 7 7 8 8 8 8 9 9
## [35] 9 9 10 10 10 10 11 11 11 11 12 12 12 12 13 13 13
## [52] 13 101 101 101 101 102 102 102 102 103 103 103 103 104 104 104 104
## [69] 105 105 105 105 106 106 106 106 201 201 201 201 202 202 202 202 203
## [86] 203 203 203 204 204 204 204 205 205 205 205 206 206 206 206 207 207
## [103] 207 207 208 208 208 208 209 209 209 209 210 210 210 210 211 211 211
## [120] 211 212 212 212 212 213 213 213 213 214 214 214 214 215 215 215 215
## [137] 216 216 216 216 217 217 217 217 218 218 218 218 219 219 219 219 220
## [154] 220 220 220 221 221 221 221 222 222 222 222 301 301 301 301 302 302
## [171] 302 302 303 303 303 303 304 304 304 304 305 305 305 305 306 306 306
## [188] 306 307 307 307 307 308 308 308 308 309 309 309 309 401 401 401 401
## [205] 402 402 402 402 403 403 403 403 404 404 404 404 405 405 405 405 406
## [222] 406 406 406 407 407 407 407 408 408 408 408 409 409 409 409 410 410
## [239] 410 410 411 411 411 411 412 412 412 412 413 413 413 413 414 414 414
## [256] 414 415 415 415 415 501 501 501 501 502 502 502 502 503 503 503 503
## [273] 504 504 504 504 505 505 505 505 506 506 506 506 507 507 507 507 508
## [290] 508 508 508 509 509 509 509 510 510 510 510 511 511 511 511 512 512
## [307] 512 512 513 513 513 513 514 514 514 514 515 515 515 515 601 601 601
## [324] 601 602 602 602 602 603 603 603 603 604 604 604 604 605 605 605 605
## [341] 606 606 606 606 607 607 607 607 608 608 608 608 609 609 609 609 610
## [358] 610 610 610 611 611 611 611 612 612 612 612 613 613 613 613 614 614
## [375] 614 614 615 615 615 615 701 701 701 701 702 702 702 702 703 703 703
## [392] 703 704 704 704 704 705 705 705 705 706 706 706 706 707 707 707 707
## [409] 708 708 708 708 709 709 709 709 710 710 710 710 711 711 711 711 712
## [426] 712 712 712 801 801 801 801 802 802 802 802 803 803 803 803 804 804
## [443] 804 804 805 805 805 805 806 806 806 806 807 807 807 807 808 808 808
## [460] 808 809 809 809 809 810 810 810 810 901 901 901 901 902 902 902 902
## [477] 903 903 903 903 904 904 904 904 905 905 905 905 906 906 906 906 907
## [494] 907 907 907 908 908 908 908 909 909 909 909 910 910 910 910 911 911
## [511] 911 911 912 912 912 912 913 913 913 913 914 914 914 914 915 915 915
## [528] 915 916 916 916 916 917 917 917 917 918 918 918 918 919 919 919 919
## [545] 920 920 920 920
##
## $AgeOfStore
## [1] 4 4 4 4 5 5 5 5 12 12 12 12 1 1 1 1 10 10 10 10 10 10 10
## [24] 10 15 15 15 15 10 10 10 10 6 6 6 6 5 5 5 5 5 5 5 5 12 12
## [47] 12 12 12 12 12 12 22 22 22 22 8 8 8 8 22 22 22 22 19 19 19 19 8
## [70] 8 8 8 5 5 5 5 4 4 4 4 8 8 8 8 12 12 12 12 1 1 1 1
## [93] 19 19 19 19 11 11 11 11 1 1 1 1 1 1 1 1 1 1 1 1 19 19 19
## [116] 19 13 13 13 13 3 3 3 3 4 4 4 4 5 5 5 5 7 7 7 7 4 4
## [139] 4 4 5 5 5 5 2 2 2 2 7 7 7 7 3 3 3 3 23 23 23 23 6
## [162] 6 6 6 1 1 1 1 7 7 7 7 9 9 9 9 3 3 3 3 2 2 2 2
## [185] 13 13 13 13 7 7 7 7 28 28 28 28 8 8 8 8 5 5 5 5 25 25 25
## [208] 25 19 19 19 19 8 8 8 8 4 4 4 4 3 3 3 3 6 6 6 6 9 9
## [231] 9 9 14 14 14 14 11 11 11 11 23 23 23 23 6 6 6 6 1 1 1 1 1
## [254] 1 1 1 12 12 12 12 6 6 6 6 19 19 19 19 2 2 2 2 4 4 4 4
## [277] 1 1 1 1 12 12 12 12 5 5 5 5 5 5 5 5 8 8 8 8 7 7 7
## [300] 7 24 24 24 24 4 4 4 4 7 7 7 7 6 6 6 6 8 8 8 8 7 7
## [323] 7 7 4 4 4 4 4 4 4 4 11 11 11 11 8 8 8 8 8 8 8 8 3
## [346] 3 3 3 18 18 18 18 9 9 9 9 4 4 4 4 11 11 11 11 1 1 1 1
## [369] 18 18 18 18 8 8 8 8 1 1 1 1 1 1 1 1 13 13 13 13 4 4 4
## [392] 4 27 27 27 27 22 22 22 22 17 17 17 17 5 5 5 5 15 15 15 15 1 1
## [415] 1 1 24 24 24 24 1 1 1 1 9 9 9 9 3 3 3 3 9 9 9 9 10
## [438] 10 10 10 1 1 1 1 6 6 6 6 5 5 5 5 1 1 1 1 20 20 20 20
## [461] 9 9 9 9 13 13 13 13 7 7 7 7 1 1 1 1 7 7 7 7 10 10 10
## [484] 10 2 2 2 2 13 13 13 13 10 10 10 10 3 3 3 3 1 1 1 1 1 1
## [507] 1 1 1 1 1 1 6 6 6 6 24 24 24 24 9 9 9 9 3 3 3 3 7
## [530] 7 7 7 14 14 14 14 6 6 6 6 2 2 2 2 14 14 14 14
##
## $Promotion
## [1] 3 3 3 3 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 1 1 1
## [36] 1 2 2 2 2 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 3 3 3 3 3 3
## [71] 3 3 3 3 3 3 3 3 3 3 1 1 1 1 3 3 3 3 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3
## [106] 3 3 3 1 1 1 1 1 1 1 1 2 2 2 2 3 3 3 3 2 2 2 2 1 1 1 1 2 2 2 2 3 3 3 3
## [141] 3 3 3 3 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1
## [176] 1 1 1 1 1 2 2 2 2 1 1 1 1 2 2 2 2 2 2 2 2 1 1 1 1 3 3 3 3 2 2 2 2 2 2
## [211] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 2 2 2 2 2 2 2 2 1 1 1 1 3 3 3 3 1
## [246] 1 1 1 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2
## [281] 2 2 2 2 2 2 2 2 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 1 1 1 1 1 1 1
## [316] 1 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 2 2 2 2 1 1
## [351] 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 1
## [386] 1 1 1 1 1 1 1 1 1 1 1 3 3 3 3 3 3 3 3 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3
## [421] 1 1 1 1 3 3 3 3 1 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 3 3 3 3 3 3 3 3 2 2 2
## [456] 2 3 3 3 3 3 3 3 3 1 1 1 1 2 2 2 2 1 1 1 1 3 3 3 3 2 2 2 2 3 3 3 3 2 2
## [491] 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 1 1 1 1 2 2 2 2 1
## [526] 1 1 1 2 2 2 2 3 3 3 3 1 1 1 1 1 1 1 1 2 2 2 2
##
## $Week
## [1] 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3
## [36] 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2
## [71] 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1
## [106] 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
## [141] 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3
## [176] 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2
## [211] 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1
## [246] 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
## [281] 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3
## [316] 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2
## [351] 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1
## [386] 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
## [421] 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3
## [456] 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2
## [491] 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1
## [526] 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4 1 2 3 4
##
## $SalesInThousands
## [1] 33.73 35.67 29.03 39.25 27.81 34.67 27.98 27.72 44.54 37.94 45.49
## [12] 34.75 39.28 39.80 24.77 30.98 30.37 24.82 37.47 23.35 32.90 22.18
## [23] 42.98 26.68 42.92 42.16 51.72 36.17 30.08 28.62 25.40 27.26 37.41
## [34] 38.64 40.90 41.11 34.27 29.30 23.93 35.16 33.42 37.93 33.85 40.25
## [45] 35.85 36.24 41.73 37.32 50.48 36.88 35.68 46.45 67.48 65.57 68.42
## [56] 60.93 61.59 63.64 54.68 61.24 62.93 58.77 70.60 65.06 59.76 66.11
## [67] 62.16 64.04 59.65 57.04 59.73 56.72 58.55 62.19 53.14 62.27 86.14
## [78] 82.56 79.36 77.17 88.73 85.21 81.55 94.17 89.70 78.43 84.05 81.18
## [89] 87.43 81.79 88.12 75.29 83.02 90.30 85.18 89.77 82.64 82.89 82.13
## [100] 88.91 87.70 81.16 81.58 94.21 96.48 84.13 91.98 81.72 93.71 96.01
## [111] 93.03 97.61 85.11 88.07 94.43 89.44 88.64 81.37 82.14 79.64 84.34
## [122] 87.90 76.12 82.72 73.22 75.88 78.01 80.17 91.60 80.61 93.86 83.43
## [133] 82.65 77.39 80.83 80.75 94.89 74.75 93.63 80.82 91.61 79.02 86.11
## [144] 82.88 99.65 88.64 86.96 89.25 66.22 82.86 83.40 75.61 87.08 89.32
## [155] 99.12 85.85 79.53 74.03 78.53 76.71 93.32 85.71 77.36 91.29 49.61
## [166] 43.69 54.49 61.25 51.47 53.47 46.83 56.70 55.94 61.36 56.19 62.06
## [177] 54.01 63.48 61.96 55.30 47.89 52.37 49.11 52.88 53.79 66.96 57.10
## [188] 65.12 46.98 53.41 36.17 55.98 51.87 58.01 47.93 51.33 62.16 54.06
## [199] 51.72 59.64 52.23 51.68 46.22 46.03 40.40 50.28 52.72 38.30 51.79
## [210] 42.56 44.64 45.11 42.15 42.59 49.56 39.25 48.18 48.25 46.42 43.77
## [221] 45.30 48.84 45.08 44.67 45.56 55.19 37.84 50.07 47.33 45.42 44.31
## [232] 40.26 43.27 48.33 44.14 51.50 49.95 55.11 55.28 54.70 50.11 55.59
## [243] 54.37 51.91 59.34 62.63 49.08 58.04 46.26 47.71 54.09 46.89 57.37
## [254] 55.53 51.16 57.06 50.59 48.64 50.55 49.08 24.75 41.47 35.10 34.33
## [265] 31.94 29.64 33.64 36.05 36.70 41.53 27.71 37.20 42.16 36.80 46.98
## [276] 47.35 32.21 38.41 37.90 44.84 37.45 35.46 31.85 19.26 38.65 17.34
## [287] 33.14 23.44 37.17 30.52 32.51 29.12 40.46 41.25 32.05 47.50 32.77
## [298] 30.26 27.55 27.37 47.48 39.41 43.29 42.59 35.30 35.86 49.30 30.81
## [309] 44.98 41.71 41.10 40.97 41.10 41.56 36.39 39.67 34.46 40.13 32.18
## [320] 43.73 49.01 46.29 37.14 42.82 47.22 35.24 47.22 43.15 40.71 38.26
## [331] 41.44 25.70 40.29 48.35 43.26 44.20 46.14 41.12 45.03 38.85 41.96
## [342] 42.27 38.51 43.51 49.39 40.25 42.46 31.62 53.38 55.31 56.10 43.24
## [353] 48.18 43.11 43.78 56.90 53.53 47.92 56.18 46.66 40.43 51.15 42.50
## [364] 52.76 47.63 52.21 40.17 48.36 42.76 50.52 56.86 47.51 38.56 37.29
## [375] 35.60 33.35 48.50 36.80 48.32 41.54 53.56 49.72 48.77 46.84 51.82
## [386] 45.02 49.44 51.32 52.85 40.84 64.45 44.43 56.64 46.06 55.46 51.41
## [397] 49.67 49.98 49.50 47.35 50.26 52.05 51.14 46.30 56.99 45.57 45.92
## [408] 50.52 32.61 57.27 37.32 41.22 39.73 50.30 40.16 41.37 54.79 52.39
## [419] 42.15 49.63 54.95 55.78 46.49 56.84 48.06 51.09 44.19 49.52 65.11
## [430] 54.38 57.14 49.91 48.76 44.14 58.10 44.16 44.66 53.78 43.91 52.41
## [441] 50.54 58.43 59.77 60.44 50.94 49.38 63.98 45.84 51.01 56.16 45.77
## [452] 46.47 46.02 51.09 51.68 55.91 55.90 59.80 60.97 64.14 39.98 54.58
## [463] 52.64 45.43 49.30 61.80 58.00 55.20 53.76 39.36 47.20 53.66 61.53
## [474] 59.17 63.73 61.77 51.89 51.17 54.33 50.05 51.09 54.82 44.16 53.95
## [485] 54.34 60.24 56.39 58.33 51.26 51.73 51.35 41.85 45.21 55.02 45.35
## [496] 47.06 43.59 46.03 47.22 51.41 58.19 62.72 66.66 64.66 66.34 60.59
## [507] 61.95 67.84 55.39 49.16 58.26 48.12 49.98 44.84 55.12 47.36 62.33
## [518] 53.68 62.37 63.58 44.70 43.44 52.36 45.90 53.51 49.76 68.31 66.10
## [529] 43.61 46.20 51.52 49.71 53.50 56.34 51.83 50.20 49.62 62.54 50.11
## [540] 61.63 59.87 62.99 57.20 64.34 50.20 45.75 44.29 49.41
lapply(dfrModel, FUN=detect_outliers)
## $MarketID
## integer(0)
##
## $MarketSize
## integer(0)
##
## $LocationID
## integer(0)
##
## $AgeOfStore
## [1] 28 28 28 28 25 25 25 25 27 27 27 27
##
## $Promotion
## integer(0)
##
## $Week
## integer(0)
##
## $SalesInThousands
## [1] 88.73 94.17 89.70 87.43 88.12 90.30 89.77 88.91 87.70 94.21 96.48
## [12] 91.98 93.71 96.01 93.03 97.61 88.07 94.43 89.44 88.64 87.90 91.60
## [23] 93.86 94.89 93.63 91.61 99.65 88.64 89.25 89.32 99.12 93.32 91.29
lapply(dfrModel, FUN=plot)
## $MarketID
##
## $MarketSize
##
## $LocationID
##
## $AgeOfStore
##
## $Promotion
##
## $Week
##
## $SalesInThousands
dfrModel$MarketID <- as.factor(dfrModel$MarketID)
dfrModel$Promotion <- as.factor(dfrModel$Promotion)
levels(dfrModel$Promotion) <- c("Type 1", "Type 2", "Type 3")
dfrModel$Week <- as.factor(dfrModel$Week)
head(dfrModel)
## MarketID MarketSize LocationID AgeOfStore Promotion Week
## 1 1 2 1 4 Type 3 1
## 2 1 2 1 4 Type 3 2
## 3 1 2 1 4 Type 3 3
## 4 1 2 1 4 Type 3 4
## 5 1 2 2 5 Type 2 1
## 6 1 2 2 5 Type 2 2
## SalesInThousands
## 1 33.73
## 2 35.67
## 3 29.03
## 4 39.25
## 5 27.81
## 6 34.67
Visualize
dfrGraph <- gather(dfrModel, variable, value, -SalesInThousands)
## Warning: attributes are not identical across measure variables; they will
## be dropped
head(dfrGraph)
## SalesInThousands variable value
## 1 33.73 MarketID 1
## 2 35.67 MarketID 1
## 3 29.03 MarketID 1
## 4 39.25 MarketID 1
## 5 27.81 MarketID 1
## 6 34.67 MarketID 1
ggplot(dfrGraph) +
geom_jitter(aes(value,SalesInThousands, colour=variable)) +
geom_smooth(aes(value,SalesInThousands, colour=variable), method=lm, se=FALSE) +
facet_wrap(~variable, scales="free_x") +
labs(title="Relation Of Sales With Other Features")
stpModel=step(lm(data=dfrModel, SalesInThousands~.), trace=0, steps=100)
stpSummary <- summary(stpModel)
stpSummary
##
## Call:
## lm(formula = SalesInThousands ~ MarketID + Promotion, data = dfrModel)
##
## Residuals:
## Min 1Q Median 3Q Max
## -14.5400 -3.4398 -0.1828 3.4789 14.3634
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 39.9760 0.7753 51.560 <2e-16 ***
## MarketID2 25.8894 1.3075 19.800 <2e-16 ***
## MarketID3 49.6609 0.9062 54.799 <2e-16 ***
## MarketID4 19.3984 1.1195 17.328 <2e-16 ***
## MarketID5 15.6866 0.9845 15.934 <2e-16 ***
## MarketID6 1.6221 0.9772 1.660 0.0975 .
## MarketID7 9.3891 0.9838 9.544 <2e-16 ***
## MarketID8 12.6487 1.0385 12.180 <2e-16 ***
## MarketID9 17.3709 1.0929 15.895 <2e-16 ***
## MarketID10 19.3981 0.9203 21.078 <2e-16 ***
## PromotionType 2 -9.7180 0.5559 -17.480 <2e-16 ***
## PromotionType 3 -4.9249 0.5648 -8.719 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.156 on 536 degrees of freedom
## Multiple R-squared: 0.9072, Adjusted R-squared: 0.9053
## F-statistic: 476.4 on 11 and 536 DF, p-value: < 2.2e-16
Observation
Best results given by SalesInThousands ~ MarketID + Promotion
Make Final Multi Linear Model
x1 <- dfrModel$MarketID
x2 <- dfrModel$Promotion
y <- dfrModel$SalesInThousands
mlmModel <- lm(y~x1+x2)
Show Model
summary(mlmModel)
##
## Call:
## lm(formula = y ~ x1 + x2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -14.5400 -3.4398 -0.1828 3.4789 14.3634
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 39.9760 0.7753 51.560 <2e-16 ***
## x12 25.8894 1.3075 19.800 <2e-16 ***
## x13 49.6609 0.9062 54.799 <2e-16 ***
## x14 19.3984 1.1195 17.328 <2e-16 ***
## x15 15.6866 0.9845 15.934 <2e-16 ***
## x16 1.6221 0.9772 1.660 0.0975 .
## x17 9.3891 0.9838 9.544 <2e-16 ***
## x18 12.6487 1.0385 12.180 <2e-16 ***
## x19 17.3709 1.0929 15.895 <2e-16 ***
## x110 19.3981 0.9203 21.078 <2e-16 ***
## x2Type 2 -9.7180 0.5559 -17.480 <2e-16 ***
## x2Type 3 -4.9249 0.5648 -8.719 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.156 on 536 degrees of freedom
## Multiple R-squared: 0.9072, Adjusted R-squared: 0.9053
## F-statistic: 476.4 on 11 and 536 DF, p-value: < 2.2e-16
Test Data
dfrTest <- data.frame(x1=c(1, 1, 1),x2=c(3, 2, 1))
dfrTest$x1 <- as.factor(dfrTest$x1)
dfrTest$x2 <- as.factor(dfrTest$x2)
levels(dfrTest$x2) <- c("Type 1", "Type 2", "Type 3")
dfrTest
## x1 x2
## 1 1 Type 3
## 2 1 Type 2
## 3 1 Type 1
Predict
result <- predict(mlmModel, dfrTest)
print(result)
## 1 2 3
## 35.05106 30.25791 39.97595