getwd()
## [1] "/cloud/project"
regression1<-read.csv("incidents.csv",header=T, sep = ",")
str(regression1)
## 'data.frame':    16 obs. of  4 variables:
##  $ area      : chr  "Boulder" "California-lexington" "Huntsville" "Seattle" ...
##  $ zone      : chr  "west" "east" "east" "west" ...
##  $ population: chr  "107,353" "326,534" "444,752" "750,000" ...
##  $ incidents : int  605 103 161 1703 1003 527 721 704 105 403 ...
summary(regression1)
##      area               zone            population          incidents     
##  Length:16          Length:16          Length:16          Min.   : 103.0  
##  Class :character   Class :character   Class :character   1st Qu.: 277.8  
##  Mode  :character   Mode  :character   Mode  :character   Median : 654.0  
##                                                           Mean   : 695.2  
##                                                           3rd Qu.: 853.0  
##                                                           Max.   :2072.0
pkg <- c("ggplot2", "scales", "maptools",
              "sp", "maps", "grid", "car" )
new.pkg <- pkg[!(pkg %in% installed.packages())]
if (length(new.pkg)) {
  install.packages(new.pkg)  
}
## Installing package into '/cloud/lib/x86_64-pc-linux-gnu-library/4.5'
## (as 'lib' is unspecified)
## Warning: package 'maptools' is not available for this version of R
## 
## A version of this package for your version of R might be available elsewhere,
## see the ideas at
## https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Installing-packages
regression1$population <- as.numeric(gsub(",","",regression1$population))
regression1$population #changing the data type of population from a character to an integer
##  [1]  107353  326534  444752  750000   64403 2744878 1600000 2333000 1572816
## [10]  712091 6900000 2700000 4900000 4200000 5200000 7100000
regression2<-regression1[,-1] #this makes a new data frame that deletes column 1
head(regression2) #shows the file
reg.fit1<-lm(regression1$incidents ~ regression1$population) #makes the first model
summary(reg.fit1) #fail to reject the null hypothesis, p-value is greater than 0.05
## 
## Call:
## lm(formula = regression1$incidents ~ regression1$population)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -684.5 -363.5 -156.2  133.9 1164.7 
## 
## Coefficients:
##                         Estimate Std. Error t value Pr(>|t|)  
## (Intercept)            4.749e+02  2.018e+02   2.353   0.0337 *
## regression1$population 8.462e-05  5.804e-05   1.458   0.1669  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 534.9 on 14 degrees of freedom
## Multiple R-squared:  0.1318, Adjusted R-squared:  0.0698 
## F-statistic: 2.126 on 1 and 14 DF,  p-value: 0.1669

#The population p-value is above to 5% significance level, it is not significant. The adjusted r-squared is low, at 0.0698.

reg.fit2<-lm(incidents ~ zone+population, data = regression1) #second model
summary(reg.fit2) #zone is significant
## 
## Call:
## lm(formula = incidents ~ zone + population, data = regression1)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -537.21 -273.14  -57.89  188.17  766.03 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)   
## (Intercept) 1.612e+02  1.675e+02   0.962  0.35363   
## zonewest    7.266e+02  1.938e+02   3.749  0.00243 **
## population  6.557e-05  4.206e-05   1.559  0.14300   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 384.8 on 13 degrees of freedom
## Multiple R-squared:  0.5828, Adjusted R-squared:  0.5186 
## F-statistic: 9.081 on 2 and 13 DF,  p-value: 0.003404

#For model 2, zone west is significant t a 5% significance level, as its p-value is below 0.05. Population, though, is not significant because it is above the 5%. The adjusted r-squared is 0.5186.

regression2$zone <- ifelse(regression2$zone == "west", 1, 0) #isolating the zone west with the other zones
interaction<-regression2$zone*regression2$population #trying to see the interaction between the zone and population in regression 2
reg.fit3<-lm(regression1$incidents~interaction+regression1$population+regression1$zone)
 #factoring in incidents
summary(reg.fit3)
## 
## Call:
## lm(formula = regression1$incidents ~ interaction + regression1$population + 
##     regression1$zone)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -540.91 -270.93  -59.56  187.99  767.99 
## 
## Coefficients:
##                         Estimate Std. Error t value Pr(>|t|)  
## (Intercept)            1.659e+02  2.313e+02   0.717   0.4869  
## interaction            2.974e-06  9.469e-05   0.031   0.9755  
## regression1$population 6.352e-05  7.868e-05   0.807   0.4352  
## regression1$zonewest   7.192e+02  3.108e+02   2.314   0.0392 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 400.5 on 12 degrees of freedom
## Multiple R-squared:  0.5829, Adjusted R-squared:  0.4786 
## F-statistic: 5.589 on 3 and 12 DF,  p-value: 0.01237

#Population is not significant at a 5% significane level, because its p-value is well above 0.05.

#Zone is significant at a 5% significane level, because its p-value is below 0.05.

#Interaction is not significant at a 5% significance level, because its p-value is well above 0.05.

#The adjusted r-squared of the moodel is 0.4786.

reg.fit4<-lm(regression1$incidents~interaction)
summary(reg.fit4)
## 
## Call:
## lm(formula = regression1$incidents ~ interaction)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -650.28 -301.09  -83.71  123.23 1103.76 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)   
## (Intercept) 4.951e+02  1.320e+02   3.751  0.00215 **
## interaction 1.389e-04  4.737e-05   2.932  0.01093 * 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 451.9 on 14 degrees of freedom
## Multiple R-squared:  0.3804, Adjusted R-squared:  0.3361 
## F-statistic: 8.595 on 1 and 14 DF,  p-value: 0.01093

#With interaction as the only feature, interaction is singificant as the p-value is under 0.05. The adjusted R-squared is 0.3361.

#Of the models ran, I would choose to run Reg.Fit2. This is because it has the highest adjusted r-squared at 0.5186, as well as the lowest p-values for zone west.