READING AND VIEWING A DATASET and R Functions - aggregate(), by(), apply()

Read the data using read.csv

store.df <- read.csv(paste("StoreData.csv", sep=""))

Summary of p1 sales

summary(store.df\(p1sales) #Summary of p2 sales summary(store.df\)p2sales) #Weekly price of product 1 table(store.df\(p1price) # Weekly pricce of product 2 table(store.df\)p2price)

Total Sales of Product 2, by Country

aggregate(store.df$p2sales, by=list(country=store.df$country), sum)
##   country     x
## 1      AU  9934
## 2      BR 21362
## 3      CN 20911
## 4      DE 52263
## 5      GB 31264
## 6      JP 41344
## 7      US 31248

Average Sales of Product 1 by Store

aggregate(store.df$p1sales, by=list(StoreID = store.df$storeNum), mean)
##    StoreID        x
## 1      101 130.5385
## 2      102 134.7404
## 3      103 136.0385
## 4      104 131.4423
## 5      105 129.5288
## 6      106 133.7981
## 7      107 133.8077
## 8      108 133.6923
## 9      109 131.5481
## 10     110 132.0962
## 11     111 130.4519
## 12     112 129.8846
## 13     113 137.7692
## 14     114 132.1923
## 15     115 129.5288
## 16     116 135.7500
## 17     117 135.0385
## 18     118 139.8462
## 19     119 133.7308
## 20     120 129.5481

Average Sales of Product 1 by Store

by(store.df$p1sales, store.df$storeNum, mean)
## store.df$storeNum: 101
## [1] 130.5385
## -------------------------------------------------------- 
## store.df$storeNum: 102
## [1] 134.7404
## -------------------------------------------------------- 
## store.df$storeNum: 103
## [1] 136.0385
## -------------------------------------------------------- 
## store.df$storeNum: 104
## [1] 131.4423
## -------------------------------------------------------- 
## store.df$storeNum: 105
## [1] 129.5288
## -------------------------------------------------------- 
## store.df$storeNum: 106
## [1] 133.7981
## -------------------------------------------------------- 
## store.df$storeNum: 107
## [1] 133.8077
## -------------------------------------------------------- 
## store.df$storeNum: 108
## [1] 133.6923
## -------------------------------------------------------- 
## store.df$storeNum: 109
## [1] 131.5481
## -------------------------------------------------------- 
## store.df$storeNum: 110
## [1] 132.0962
## -------------------------------------------------------- 
## store.df$storeNum: 111
## [1] 130.4519
## -------------------------------------------------------- 
## store.df$storeNum: 112
## [1] 129.8846
## -------------------------------------------------------- 
## store.df$storeNum: 113
## [1] 137.7692
## -------------------------------------------------------- 
## store.df$storeNum: 114
## [1] 132.1923
## -------------------------------------------------------- 
## store.df$storeNum: 115
## [1] 129.5288
## -------------------------------------------------------- 
## store.df$storeNum: 116
## [1] 135.75
## -------------------------------------------------------- 
## store.df$storeNum: 117
## [1] 135.0385
## -------------------------------------------------------- 
## store.df$storeNum: 118
## [1] 139.8462
## -------------------------------------------------------- 
## store.df$storeNum: 119
## [1] 133.7308
## -------------------------------------------------------- 
## store.df$storeNum: 120
## [1] 129.5481

Average Sales of Product 1 by Store and Year (2001, 2002)

by(store.df$p1sales, list(store.df$storeNum, store.df$Year), mean)
## : 101
## : 1
## [1] 127.7885
## -------------------------------------------------------- 
## : 102
## : 1
## [1] 129.7115
## -------------------------------------------------------- 
## : 103
## : 1
## [1] 133.2308
## -------------------------------------------------------- 
## : 104
## : 1
## [1] 128.0769
## -------------------------------------------------------- 
## : 105
## : 1
## [1] 129.7692
## -------------------------------------------------------- 
## : 106
## : 1
## [1] 131.5
## -------------------------------------------------------- 
## : 107
## : 1
## [1] 131.1154
## -------------------------------------------------------- 
## : 108
## : 1
## [1] 134.8077
## -------------------------------------------------------- 
## : 109
## : 1
## [1] 129.8269
## -------------------------------------------------------- 
## : 110
## : 1
## [1] 132.6923
## -------------------------------------------------------- 
## : 111
## : 1
## [1] 130.8654
## -------------------------------------------------------- 
## : 112
## : 1
## [1] 134.5
## -------------------------------------------------------- 
## : 113
## : 1
## [1] 143.4808
## -------------------------------------------------------- 
## : 114
## : 1
## [1] 129.7115
## -------------------------------------------------------- 
## : 115
## : 1
## [1] 131.1731
## -------------------------------------------------------- 
## : 116
## : 1
## [1] 136.3654
## -------------------------------------------------------- 
## : 117
## : 1
## [1] 135.6154
## -------------------------------------------------------- 
## : 118
## : 1
## [1] 137.1923
## -------------------------------------------------------- 
## : 119
## : 1
## [1] 132.6731
## -------------------------------------------------------- 
## : 120
## : 1
## [1] 130.7308
## -------------------------------------------------------- 
## : 101
## : 2
## [1] 133.2885
## -------------------------------------------------------- 
## : 102
## : 2
## [1] 139.7692
## -------------------------------------------------------- 
## : 103
## : 2
## [1] 138.8462
## -------------------------------------------------------- 
## : 104
## : 2
## [1] 134.8077
## -------------------------------------------------------- 
## : 105
## : 2
## [1] 129.2885
## -------------------------------------------------------- 
## : 106
## : 2
## [1] 136.0962
## -------------------------------------------------------- 
## : 107
## : 2
## [1] 136.5
## -------------------------------------------------------- 
## : 108
## : 2
## [1] 132.5769
## -------------------------------------------------------- 
## : 109
## : 2
## [1] 133.2692
## -------------------------------------------------------- 
## : 110
## : 2
## [1] 131.5
## -------------------------------------------------------- 
## : 111
## : 2
## [1] 130.0385
## -------------------------------------------------------- 
## : 112
## : 2
## [1] 125.2692
## -------------------------------------------------------- 
## : 113
## : 2
## [1] 132.0577
## -------------------------------------------------------- 
## : 114
## : 2
## [1] 134.6731
## -------------------------------------------------------- 
## : 115
## : 2
## [1] 127.8846
## -------------------------------------------------------- 
## : 116
## : 2
## [1] 135.1346
## -------------------------------------------------------- 
## : 117
## : 2
## [1] 134.4615
## -------------------------------------------------------- 
## : 118
## : 2
## [1] 142.5
## -------------------------------------------------------- 
## : 119
## : 2
## [1] 134.7885
## -------------------------------------------------------- 
## : 120
## : 2
## [1] 128.3654

Average of store.df columns 2-9

apply(store.df[, 2:9], MARGIN=2, FUN=mean)
##        Year        Week     p1sales     p2sales     p1price     p2price 
##   1.5000000  26.5000000 133.0485577 100.1567308   2.5443750   2.6995192 
##      p1prom      p2prom 
##   0.1000000   0.1384615
apply(store.df[, 2:9], 2, mean)
##        Year        Week     p1sales     p2sales     p1price     p2price 
##   1.5000000  26.5000000 133.0485577 100.1567308   2.5443750   2.6995192 
##      p1prom      p2prom 
##   0.1000000   0.1384615

Standard Deviation of store.df columns 2-9

apply(store.df[, 2:9], 2, sd)
##       Year       Week    p1sales    p2sales    p1price    p2price 
##  0.5001202 15.0119401 28.3725990 24.4241905  0.2948819  0.3292181 
##     p1prom     p2prom 
##  0.3000721  0.3454668

Applying a User-defined function

apply(store.df[, 2:9], 2, function(x) { mean(x) - median(x) } )
##      Year      Week   p1sales   p2sales   p1price   p2price    p1prom 
## 0.0000000 0.0000000 4.0485577 4.1567308 0.0543750 0.1095192 0.1000000 
##    p2prom 
## 0.1384615