There data are on restaurant rating in New York City.
nyc <- read.csv("http://andrewpbray.github.io/data/nyc.csv")
head(nyc)
## Case Restaurant Price Food Decor Service East
## 1 1 Daniella Ristorante 43 22 18 20 0
## 2 2 Tello's Ristorante 32 20 19 19 0
## 3 3 Biricchino 34 21 13 18 0
## 4 4 Bottino 41 20 20 17 0
## 5 5 Da Umberto 54 24 19 21 0
## 6 6 Le Madri 52 22 22 21 0
A pairs plot can be used to look at all two-way variable comparisons.
library(tidyverse)
nyc%>%
select(Price, Food, Decor)%>%
pairs()
Y<-nyc$Price
X<-matrix(c(rep(1, dim(nyc)[1]),
nyc$Food,
nyc$Decor),
nrow=dim(nyc)[1])
head(X)
## [,1] [,2] [,3]
## [1,] 1 22 18
## [2,] 1 20 19
## [3,] 1 21 13
## [4,] 1 20 20
## [5,] 1 24 19
## [6,] 1 22 22
t(X)
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9] [,10] [,11] [,12] [,13] [,14]
## [1,] 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [2,] 22 20 21 20 24 22 22 20 22 21 19 21 21 19
## [3,] 18 19 13 20 19 22 16 18 19 17 17 19 19 17
## [,15] [,16] [,17] [,18] [,19] [,20] [,21] [,22] [,23] [,24] [,25] [,26]
## [1,] 1 1 1 1 1 1 1 1 1 1 1 1
## [2,] 20 21 22 24 19 22 23 23 20 22 22 19
## [3,] 18 19 18 21 17 20 20 17 18 21 20 17
## [,27] [,28] [,29] [,30] [,31] [,32] [,33] [,34] [,35] [,36] [,37] [,38]
## [1,] 1 1 1 1 1 1 1 1 1 1 1 1
## [2,] 22 20 22 21 20 21 20 23 25 23 21 22
## [3,] 19 16 19 20 16 20 19 22 22 21 18 19
## [,39] [,40] [,41] [,42] [,43] [,44] [,45] [,46] [,47] [,48] [,49] [,50]
## [1,] 1 1 1 1 1 1 1 1 1 1 1 1
## [2,] 24 21 19 19 21 24 22 22 20 21 24 16
## [3,] 20 20 17 17 17 21 17 17 15 17 18 16
## [,51] [,52] [,53] [,54] [,55] [,56] [,57] [,58] [,59] [,60] [,61] [,62]
## [1,] 1 1 1 1 1 1 1 1 1 1 1 1
## [2,] 20 20 19 17 18 18 23 20 22 18 24 19
## [3,] 18 20 18 14 15 16 17 14 17 13 20 16
## [,63] [,64] [,65] [,66] [,67] [,68] [,69] [,70] [,71] [,72] [,73] [,74]
## [1,] 1 1 1 1 1 1 1 1 1 1 1 1
## [2,] 18 20 19 21 20 17 17 22 22 23 24 19
## [3,] 16 19 15 16 19 14 18 21 18 20 20 14
## [,75] [,76] [,77] [,78] [,79] [,80] [,81] [,82] [,83] [,84] [,85] [,86]
## [1,] 1 1 1 1 1 1 1 1 1 1 1 1
## [2,] 23 22 21 18 18 21 21 23 23 20 23 19
## [3,] 20 16 16 17 16 18 18 19 19 16 19 15
## [,87] [,88] [,89] [,90] [,91] [,92] [,93] [,94] [,95] [,96] [,97] [,98]
## [1,] 1 1 1 1 1 1 1 1 1 1 1 1
## [2,] 23 25 21 21 22 24 23 23 19 20 19 19
## [3,] 18 24 19 15 18 22 16 19 18 16 13 17
## [,99] [,100] [,101] [,102] [,103] [,104] [,105] [,106] [,107] [,108]
## [1,] 1 1 1 1 1 1 1 1 1 1
## [2,] 19 18 19 20 23 18 24 23 18 20
## [3,] 14 15 18 15 16 15 21 20 16 17
## [,109] [,110] [,111] [,112] [,113] [,114] [,115] [,116] [,117] [,118]
## [1,] 1 1 1 1 1 1 1 1 1 1
## [2,] 20 23 19 18 23 23 18 17 21 19
## [3,] 19 19 16 16 20 22 9 14 6 17
## [,119] [,120] [,121] [,122] [,123] [,124] [,125] [,126] [,127] [,128]
## [1,] 1 1 1 1 1 1 1 1 1 1
## [2,] 19 19 19 19 17 20 20 18 22 20
## [3,] 15 15 17 16 16 23 17 18 18 17
## [,129] [,130] [,131] [,132] [,133] [,134] [,135] [,136] [,137] [,138]
## [1,] 1 1 1 1 1 1 1 1 1 1
## [2,] 20 19 19 23 20 22 20 19 19 19
## [3,] 15 23 21 22 17 22 19 19 18 15
## [,139] [,140] [,141] [,142] [,143] [,144] [,145] [,146] [,147] [,148]
## [1,] 1 1 1 1 1 1 1 1 1 1
## [2,] 20 18 21 21 22 22 22 23 19 22
## [3,] 14 21 18 18 24 19 25 23 20 21
## [,149] [,150] [,151] [,152] [,153] [,154] [,155] [,156] [,157] [,158]
## [1,] 1 1 1 1 1 1 1 1 1 1
## [2,] 21 18 21 23 21 20 17 20 22 18
## [3,] 17 17 16 19 19 18 14 16 19 16
## [,159] [,160] [,161] [,162] [,163] [,164] [,165] [,166] [,167] [,168]
## [1,] 1 1 1 1 1 1 1 1 1 1
## [2,] 16 20 21 21 19 17 20 18 22 24
## [3,] 15 17 19 15 16 15 16 16 17 10
t(X)%*%X
## [,1] [,2] [,3]
## [1,] 168 3460 2972
## [2,] 3460 71916 61660
## [3,] 2972 61660 53796
solve(t(X)%*%X)
## [,1] [,2] [,3]
## [1,] 0.665867012 -0.0286982924 -0.0038928555
## [2,] -0.028698292 0.0020417487 -0.0007547568
## [3,] -0.003892855 -0.0007547568 0.0010987410
\[\hat{\beta}=(X'X)^{-1}X'Y\]
solve(t(X)%*%X)%*%t(X)%*%Y
## [,1]
## [1,] -24.500156
## [2,] 1.646149
## [3,] 1.882015
mod<-lm(Price~Food+Decor, data=nyc)
mod
##
## Call:
## lm(formula = Price ~ Food + Decor, data = nyc)
##
## Coefficients:
## (Intercept) Food Decor
## -24.500 1.646 1.882