Restaurant Site Selection

Load packages and R Utility programs:

Loading data and examining data structure.

'data.frame':   33 obs. of  4 variables:
 $ sales      : int  107919 118866 98579 122015 152827 91259 123550 160931 98496 108052 ...
 $ competition: int  3 5 7 2 3 5 8 2 6 2 ...
 $ population : int  65044 101376 124989 55249 73775 48484 138809 50244 104300 37852 ...
 $ income     : int  13240 22554 16916 20967 19576 15039 21857 26435 24024 14987 ...
NULL

Printing data:

Let’s examine the 5 summary statistic:

     sales         competition      population         income     
 Min.   : 91259   Min.   :2.000   Min.   : 37852   Min.   :13240  
 1st Qu.:105564   1st Qu.:3.000   1st Qu.: 57386   1st Qu.:16839  
 Median :122015   Median :4.000   Median : 95120   Median :19200  
 Mean   :125635   Mean   :4.394   Mean   :103887   Mean   :20553  
 3rd Qu.:140791   3rd Qu.:6.000   3rd Qu.:139900   3rd Qu.:22554  
 Max.   :166755   Max.   :9.000   Max.   :233844   Max.   :33242  

Let’s create a histogram data visualization of Sales Frequency:

Plotting Proportion of Restaurants with Lower Sales:

Plotting Correlation Matrix:

Plotting correlation heat map:

Our Regression Model (3 IV’s and Sales as our response variable):

Fitting our linear regression model:

Examining the fitted summary:


Call:
lm(formula = restdata_model, data = restdata)

Residuals:
   Min     1Q Median     3Q    Max 
-21923  -8627  -2956   5328  33887 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  1.022e+05  1.280e+04   7.984 8.35e-09 ***
competition -9.075e+03  2.053e+03  -4.421 0.000126 ***
population   3.547e-01  7.268e-02   4.880 3.54e-05 ***
income       1.288e+00  5.433e-01   2.371 0.024623 *  
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 14540 on 29 degrees of freedom
Multiple R-squared:  0.6182,    Adjusted R-squared:  0.5787 
F-statistic: 15.65 on 3 and 29 DF,  p-value: 3.058e-06

Examine multicollinearity across explanatory variables to ensure all values are low (say, < 4)

competition  population      income 
   2.348446    2.496186    1.180772 

Plotting Residuals:

Defining the data frame of sites for new restaurants

Next, obtain predicted sales for the new restaurants rounding to the nearest dollar.

LS0tDQp0aXRsZTogIlByZWRpY3RpbmcgU2FsZXMgLSBGb3JlY2FzdGluZyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCiMgUmVzdGF1cmFudCBTaXRlIFNlbGVjdGlvbg0KDQpMb2FkIHBhY2thZ2VzIGFuZCBSIFV0aWxpdHkgcHJvZ3JhbXM6DQoNCmBgYHtyIGV2YWw9VFJVRSwgZWNobz1GQUxTRX0NCiMgYnJpbmcgcGFja2FnZXMgaW50byB3b3Jrc3BhY2UNCmxpYnJhcnkoY2FyKSAgIyByZWdyZXNzaW9uIHRvb2xzDQpsaWJyYXJ5KGxhdHRpY2UpICAjIG5lZWRlZCBmb3IgY29ycmVsYXRpb24gX2hlYXRfbWFwIGZ1bmN0aW9uDQoNCmxvYWQoImNvcnJlbGF0aW9uX2hlYXRfbWFwLlJEYXRhIikgICMgZnJvbSBSIHV0aWxpdHkgcHJvZ3JhbXMNCmBgYA0KDQpMb2FkaW5nIGRhdGEgYW5kIGV4YW1pbmluZyBkYXRhIHN0cnVjdHVyZS4NCg0KYGBge3IgZXZhbD1UUlVFLCBlY2hvPUZBTFNFfQ0KIyByZWFkIGRhdGEgZm9yIFN0dWRlbm11bmQncyBSZXN0YXVyYW50cw0KIyBjcmVhdGluZyBkYXRhIGZyYW1lIHJlc3RkYXRhDQpyZXN0ZGF0YSA8LSByZWFkLmNzdigic3R1ZGVubXVuZHNfcmVzdGF1cmFudHMuY3N2IiwgaGVhZGVyID0gVFJVRSkNCmBgYA0KDQpgYGB7ciBldmFsPVRSVUUsIGVjaG89RkFMU0V9DQojIGV4YW1pbmUgdGhlIGRhdGEgZnJhbWUNCnByaW50KHN0cihyZXN0ZGF0YSkpDQpgYGANCg0KUHJpbnRpbmcgZGF0YToNCg0KYGBge3IgZXZhbD1UUlVFLCBlY2hvPUZBTFNFfQ0KcHJpbnQocmVzdGRhdGEpDQpgYGANCg0KTGV0J3MgZXhhbWluZSB0aGUgNSBzdW1tYXJ5IHN0YXRpc3RpYzoNCg0KYGBge3IgZXZhbD1UUlVFLCBlY2hvPUZBTFNFfQ0KIyBjb21wdXRlIHN1bW1hcnkgc3RhdGlzdGljcw0KcHJpbnQoc3VtbWFyeShyZXN0ZGF0YSkpDQpgYGANCg0KTGV0J3MgY3JlYXRlIGEgaGlzdG9ncmFtIGRhdGEgdmlzdWFsaXphdGlvbiBvZiBTYWxlcyBGcmVxdWVuY3k6DQoNCmBgYHtyIGV2YWw9VFJVRSwgZWNobz1GQUxTRX0NCiMgZXhwbG9yYXRvcnkgZGF0YSBhbmFseXNpcy4uLiBncmFwaGljcyBmb3IgZGlzY292ZXJ5IA0KIyBjdW11bGF0aXZlIGRpc3RyaWJ1dGlvbiBmdW5jdGlvbiBvZiB0aGUgc2FsZXMgcmVzcG9uc2UNCnBkZihmaWxlID0gImZpZ19zZWxlY3Rpbmdfc2l0ZXNfaGlzdC5wZGYiLCANCiAgICB3aWR0aCA9IDguNSwgaGVpZ2h0ID0gOC41KQ0KDQp3aXRoKHJlc3RkYXRhLCBoaXN0KHNhbGVzLzEwMDAsDQogICAgeGxhYj0iU2FsZXMgKHRob3VzYW5kcykiLA0KICAgIHlsYWI9IkZyZXF1ZW5jeSIsIA0KICAgIG1haW4gPSAiIiwgbGFzID0gMSkpDQoNCmRldi5vZmYoKQ0KYGBgDQoNClBsb3R0aW5nIFByb3BvcnRpb24gb2YgUmVzdGF1cmFudHMgd2l0aCBMb3dlciBTYWxlczoNCg0KYGBge3IgZXZhbD1UUlVFLCBlY2hvPUZBTFNFfQ0KcGRmKGZpbGUgPSAiZmlnX3NlbGVjdGluZ19zaXRlc19jZGYucGRmIiwgDQogICAgd2lkdGggPSA4LjUsIGhlaWdodCA9IDguNSkNCg0Kd2l0aChyZXN0ZGF0YSwgcGxvdChzb3J0KHNhbGVzLzEwMDApLCANCiAgICAoMTpsZW5ndGgoc2FsZXMpKS9sZW5ndGgoc2FsZXMpLA0KICAgIHR5cGU9InMiLCB5bGltPWMoMCwxKSwgbGFzID0gMSwgDQogICAgeGxhYj0iUmVzdGF1cmFudHMgT3JkZXJlZCBieSBTYWxlcyAodGhvdXNhbmRzKSIsDQogICAgeWxhYj0iUHJvcG9ydGlvbiBvZiBSZXN0YXVyYW50cyB3aXRoIExvd2VyIFNhbGVzIikpDQoNCmRldi5vZmYoKQ0KYGBgDQoNClBsb3R0aW5nIENvcnJlbGF0aW9uIE1hdHJpeDoNCg0KYGBge3IgZXZhbD1UUlVFLCBlY2hvPUZBTFNFfQ0KIyBzY2F0dGVyIHBsb3QgbWF0cml4IHdpdGggc2ltcGxlIGxpbmVhciByZWdyZXNzaW9uDQojIG1vZGVscyBhbmQgbG93ZXNzIHNtb290aCBmaXRzIGZvciB2YXJpYWJsZSBwYWlycw0KcGRmKGZpbGUgPSAiZmlnX3NlbGVjdGluZ19zaXRlc19zY2F0dGVyX3Bsb3RfbWF0cml4LnBkZiIsIA0KICAgIHdpZHRoID0gOC41LCBoZWlnaHQgPSA4LjUpDQoNCnBhaXJzKHJlc3RkYXRhLA0KICAgIHBhbmVsID0gZnVuY3Rpb24oeCwgeSkgew0KICAgICAgICBwb2ludHMoeCwgeSkNCiAgICAgICAgYWJsaW5lKGxtKHkgfiB4KSwgbHR5ID0gInNvbGlkIiwgY29sID0gInJlZCIpDQogICAgICAgIGxpbmVzKGxvd2Vzcyh4LCB5KSkNCiAgICAgICAgfQ0KICAgICkNCg0KZGV2Lm9mZigpDQpgYGANCg0KUGxvdHRpbmcgY29ycmVsYXRpb24gaGVhdCBtYXA6DQoNCmBgYHtyIGV2YWw9VFJVRSwgZWNobz1GQUxTRX0NCiMgY29ycmVsYXRpb24gaGVhdCBtYXANCnBkZihmaWxlID0gImZpZ19zZWxlY3Rpbmdfc2l0ZXNfY29ycmVsYXRpb25faGVhdF9tYXAucGRmIiwgDQogICAgd2lkdGggPSA4LjUsIGhlaWdodCA9IDguNSkNCg0KcmVzdGRhdGFfY29ybWF0IDwtIA0KICAgIGNvcihyZXN0ZGF0YVssYygic2FsZXMiLCJjb21wZXRpdGlvbiIsInBvcHVsYXRpb24iLCJpbmNvbWUiKV0pICAgIA0KDQpjb3JyZWxhdGlvbl9oZWF0X21hcChjb3JtYXQgPSByZXN0ZGF0YV9jb3JtYXQpDQoNCmRldi5vZmYoKQ0KYGBgDQoNCk91ciBSZWdyZXNzaW9uIE1vZGVsICgzIElWJ3MgYW5kIFNhbGVzIGFzIG91ciByZXNwb25zZSB2YXJpYWJsZSk6DQoNCmBgYHtyIGV2YWw9VFJVRSwgZWNobz1GQUxTRX0NCiMgc3BlY2lmeSByZWdyZXNzaW9uIG1vZGVsDQpyZXN0ZGF0YV9tb2RlbCA8LSB7c2FsZXMgfiBjb21wZXRpdGlvbiArIHBvcHVsYXRpb24gKyBpbmNvbWV9DQpgYGANCg0KRml0dGluZyBvdXIgbGluZWFyIHJlZ3Jlc3Npb24gbW9kZWw6DQoNCmBgYHtyIGV2YWw9VFJVRSwgZWNobz1GQUxTRX0NCiMgZml0IGxpbmVhciByZWdyZXNzaW9uIG1vZGVsDQpyZXN0ZGF0YV9maXQgPC0gbG0ocmVzdGRhdGFfbW9kZWwsIGRhdGEgPSByZXN0ZGF0YSkNCmBgYA0KDQpFeGFtaW5pbmcgdGhlIGZpdHRlZCBzdW1tYXJ5Og0KDQpgYGB7ciBldmFsPVRSVUUsIGVjaG89RkFMU0V9DQojIHJlcG9ydCBmaXR0ZWQgbGluZWFyIG1vZGVsDQpwcmludChzdW1tYXJ5KHJlc3RkYXRhX2ZpdCkpDQpgYGANCg0KRXhhbWluZSBtdWx0aWNvbGxpbmVhcml0eSBhY3Jvc3MgZXhwbGFuYXRvcnkgdmFyaWFibGVzIHRvIGVuc3VyZSBhbGwgdmFsdWVzIGFyZSBsb3cgKHNheSwgPCA0KQ0KDQpgYGB7ciBldmFsPVRSVUUsIGVjaG89RkFMU0V9DQpwcmludCh2aWYocmVzdGRhdGFfZml0KSkNCmBgYA0KDQpQbG90dGluZyBSZXNpZHVhbHM6DQoNCmBgYHtyIGV2YWw9VFJVRSwgZWNobz1GQUxTRX0NCiMgZGVmYXVsdCByZXNpZHVhbHMgcGxvdHMuIC4gLiBkaWFnbm9zdGljIGdyYXBoaWNzIA0KcGRmKGZpbGUgPSAiZmlnX3NlbGVjdGluZ19zaXRlc19yZXNpZHVhbHMucGRmIiwgDQogICAgd2lkdGggPSA4LjUsIGhlaWdodCA9IDguNSkNCg0KcGFyKG1mcm93PWMoMiwyKSxtYXI9Yyg0LCA0LCAyLCAyKSkNCnBsb3QocmVzdGRhdGFfZml0KSAgDQpkZXYub2ZmKCkNCg0KYGBgDQoNCkRlZmluaW5nIHRoZSBkYXRhIGZyYW1lIG9mIHNpdGVzIGZvciBuZXcgcmVzdGF1cmFudHMNCg0KYGBge3IgZXZhbD1UUlVFLCBlY2hvPUZBTFNFfQ0Kc2l0ZXMgPC0gZGF0YS5mcmFtZShzYWxlcyA9IGMoTkEsIE5BLCBOQSksDQogICAgY29tcGV0aXRpb24gPSBjKDIsIDMsIDUpLA0KICAgIHBvcHVsYXRpb24gPSBjKDUwMDAwLCAyMDAwMDAsIDIyMDAwMCksDQogICAgaW5jb21lID0gYygyNTAwMCwgMjIwMDAsIDE5MDAwKSkNCg0KYGBgDQoNCk5leHQsIG9idGFpbiBwcmVkaWN0ZWQgc2FsZXMgZm9yIHRoZSBuZXcgcmVzdGF1cmFudHMgcm91bmRpbmcgdG8gdGhlIG5lYXJlc3QgZG9sbGFyLg0KDQpgYGB7ciBldmFsPVRSVUUsIGVjaG89RkFMU0V9DQpzaXRlcyRwcmVkaWN0ZWRfc2FsZXMgPC0gcm91bmQocHJlZGljdChyZXN0ZGF0YV9maXQsIG5ld2RhdGEgPSBzaXRlcyksMCkNCnByaW50KHNpdGVzKQ0KYGBgDQoNCg==