1.

x <- 5
for (i in 2:20) {
  x[i] <- x[i-1]*1.5-1  
}
x
##  [1]    5.00000    6.50000    8.75000   12.12500   17.18750   24.78125
##  [7]   36.17188   53.25781   78.88672  117.33008  174.99512  261.49268
## [13]  391.23901  585.85852  877.78778 1315.68167 1972.52251 2957.78376
## [19] 4435.67564 6652.51346

2.

#a.
Disease_rate <- c(0.25, 0.83, 0.76, 0.25, 0.33, 0.51, 0.67, 0.50, 0.54, 0.75, 0.71, 0.03, 0.38, 0.64, 0.19)
Disease_chance <- c()
for (i in 1:length(Disease_rate)) {
  if (Disease_rate[i] >= .5) {
    Disease_chance[i] <- 1
  } else {
    Disease_chance[i] <- 0
  }
}
print(Disease_chance)
##  [1] 0 1 1 0 0 1 1 1 1 1 1 0 0 1 0
#b. 
ifelse(Disease_rate >= 0.5, 1, 0)
##  [1] 0 1 1 0 0 1 1 1 1 1 1 0 0 1 0

3.

library(readr)
Cars2020 <- read_csv("Downloads/Cars2020.csv")
## Rows: 110 Columns: 21
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr  (5): Make, Model, Type, Drive, Size
## dbl (16): LowPrice, HighPrice, CityMPG, HwyMPG, Seating, Acc030, Acc060, Qtr...
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(Cars2020)
Cars2020$Fuel_Efficiency <- NA
for (i in 1:nrow(Cars2020)) {
  if (Cars2020$HwyMPG[i] < 20) {
    Cars2020$Fuel_Efficiency[i] <- "poor"
  } else if (Cars2020$HwyMPG[i] >= 20 & Cars2020$HwyMPG[i] <= 25) {
    Cars2020$Fuel_Efficiency[i] <- "acceptable"
  } else if (Cars2020$HwyMPG[i] > 25 & Cars2020$HwyMPG[i] <= 35) {
    Cars2020$Fuel_Efficiency[i] <- "good"
  } else {
    Cars2020$Fuel_Efficiency[i] <- "great"
  }
}
for (i in 1:nrow(Cars2020)) {
  SpecificRows <- paste(Cars2020$Make, Cars2020$Model, Cars2020$Fuel_Efficiency)
}
SpecificRows
##   [1] "Acura MDX good"                 "Acura RLX great"               
##   [3] "Audi A3 great"                  "Audi A4 great"                 
##   [5] "Audi A6 great"                  "Audi A8 good"                  
##   [7] "Audi Q3 good"                   "Audi TT good"                  
##   [9] "BMW 3 Series great"             "BMW 5 series great"            
##  [11] "BMW 7 Series good"              "BMW X1 great"                  
##  [13] "BMW Z4 great"                   "Buick Enclave good"            
##  [15] "Buick Envision good"            "Buick Regal good"              
##  [17] "Buick Encore good"              "Cadillac Escalade acceptable"  
##  [19] "Cadillac XT4 good"              "Cadillac XT5 good"             
##  [21] "Cadillac XT6 good"              "Chevrolet Camaro good"         
##  [23] "Chevrolet Corvette good"        "Chevrolet Impala good"         
##  [25] "Chevrolet Malibu great"         "Chevrolet Spark great"         
##  [27] "Chevrolet Suburban acceptable"  "Chevrolet Tahoe acceptable"    
##  [29] "Chevrolet Traverse good"        "Chevrolet Blazer good"         
##  [31] "Chrysler 300 good"              "Chrysler Pacifica good"        
##  [33] "Dodge Durango acceptable"       "Dodge Journey acceptable"      
##  [35] "Dodge Challenger good"          "Dodge Charger good"            
##  [37] "Dodge Grand Caravan good"       "Fiat 500L great"               
##  [39] "Ford Escape great"              "Ford Expedition acceptable"    
##  [41] "Ford Explorer good"             "Ford Fusion good"              
##  [43] "Ford Mustang good"              "Ford EcoSport good"            
##  [45] "GMC Terrain good"               "GMC Acadia good"               
##  [47] "GMC Yukon acceptable"           "Honda Passport good"           
##  [49] "Honda Accord great"             "Honda CR-V great"              
##  [51] "Honda Odyssey good"             "Honda Pilot good"              
##  [53] "Hyundai Accent great"           "Hyundai Elantra great"         
##  [55] "Hyundai Kona good"              "Hyundai Santa Fe good"         
##  [57] "Hyundai Sonata great"           "Hyundai Veloster great"        
##  [59] "Infiniti Q50 good"              "Infiniti QX60 good"            
##  [61] "Jaguar E-Pace good"             "Jaguar XF good"                
##  [63] "Jeep Compass good"              "Jeep Grand Cherokee acceptable"
##  [65] "Kia Cadenza great"              "Kia Forte great"               
##  [67] "Kia Optima great"               "Kia Rio great"                 
##  [69] "Kia Soul good"                  "Land Rover Range Evoque good"  
##  [71] "Lexus GS good"                  "Lexus LS good"                 
##  [73] "Lexus RX good"                  "Lincoln Aviator good"          
##  [75] "Lincoln Navigator acceptable"   "Mazda 3 great"                 
##  [77] "Mazda 6 great"                  "Mazda CX-3 great"              
##  [79] "Mazda CX-9 good"                "Mazda Miata-MX5 great"         
##  [81] "Mercedes C-Class good"          "Mercedes GLC good"             
##  [83] "Mitsubishi Mirage great"        "Nissan Altima great"           
##  [85] "Nissan Murano good"             "Nissan Pathfinder acceptable"  
##  [87] "Nissan Rogue good"              "Nissan Sentra great"           
##  [89] "Nissan Versa great"             "Porche 911 good"               
##  [91] "Porche Cayenne good"            "Subaru Crosstrek great"        
##  [93] "Subaru Forester great"          "Subaru Impreza great"          
##  [95] "Subaru Outback good"            "Subaru Legacy great"           
##  [97] "Toyota Corolla great"           "Toyoto 4Runner acceptable"     
##  [99] "Toyoto Camry great"             "Toyoto Highlander good"        
## [101] "Toyoto Rav4 great"              "Toyoto Sequioa acceptable"     
## [103] "Toyoto Sienna good"             "Toyoto Yaris great"            
## [105] "Volkswagon Golf great"          "Volkswagon Jetta great"        
## [107] "Volkswagon Passat great"        "Volkswagon Tiguan good"        
## [109] "Volvo S60 great"                "Volvo XC90 good"

4.

Matrix_ <- matrix(0, nrow = 6, ncol = 8)

for (j in 1:ncol(Matrix_)) {
  for (i in 1:nrow(Matrix_)) {
    Matrix_[i, j] <- i + j   
  } 
}
for (j in 1:ncol(Matrix_)) {
  for (i in 1:nrow(Matrix_)) {
    if (Matrix_[i, j] %% 2 == 1) {
      Matrix_[i,j] <- i + j+ 3
  }
  }
}

Matrix_
##      [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8]
## [1,]    2    6    4    8    6   10    8   12
## [2,]    6    4    8    6   10    8   12   10
## [3,]    4    8    6   10    8   12   10   14
## [4,]    8    6   10    8   12   10   14   12
## [5,]    6   10    8   12   10   14   12   16
## [6,]   10    8   12   10   14   12   16   14

5.

library(readr)
CourseGrades_1_ <- read_csv("Downloads/CourseGrades (1).csv")
## Rows: 14 Columns: 5
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Student
## dbl (4): HW_Avg, Exam1, Exam2, FinalExam
## 
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
View(CourseGrades_1_)
CourseGrades_1_$Average <- (CourseGrades_1_$HW_Avg * 0.35) + (CourseGrades_1_$Exam1 * 0.20) + (CourseGrades_1_$Exam2 * 0.20) + (CourseGrades_1_$FinalExam * 0.25)
CourseGrades_1_$Average
##  [1] 78.2670 87.0885 91.7855 81.9770 83.1820 83.8765 86.4875 79.9460 90.7185
## [10] 86.4595 84.3285 89.5615 79.8740 74.7660
ifelse(CourseGrades_1_$Average >= 90, "A", 
       ifelse(CourseGrades_1_$Average >=80, "B", 
              ifelse(CourseGrades_1_$Average >=70, "C", 
                     ifelse(CourseGrades_1_$Average >= 60, "D",
                            ifelse(CourseGrades_1_$Average < 60, "F")))))
##  [1] "C" "B" "A" "B" "B" "B" "B" "C" "A" "B" "B" "B" "C" "C"

6.

Semester_GPA <- c(4.00, 3.50, 3.67, 3.33, 2.67, 3.42, 3.56)
Sum_GPA <- vector()
Cumulative_GPA <- vector()
Sum_GPA[1] <- Semester_GPA[1]
Cumulative_GPA[1] <- Semester_GPA[1]
for (i in 1:(length(Semester_GPA)-1)) {
  Sum_GPA[i + 1] <- Semester_GPA[i + 1] + Sum_GPA[i]
  Cumulative_GPA[i+1] <- Sum_GPA[i+1]/(i+1)
}

Cumulative_GPA
## [1] 4.000000 3.750000 3.723333 3.625000 3.434000 3.431667 3.450000

7.

Semester_GPA <- c(4.00, 3.50, 3.67, 3.33, 2.67, 3.42, 3.56)

Sum_GPA <- 0

Cumulative_GPA <- vector()

i <- 1
counter <- 0
while (i <= length(Semester_GPA)) {
  Sum_GPA <- Sum_GPA + Semester_GPA[i] 
  Cumulative_GPA[i] <- Sum_GPA/i
  if (Cumulative_GPA[i]>=3.6) {counter <- counter+1}
  i <- i + 1
}
print(Cumulative_GPA)
## [1] 4.000000 3.750000 3.723333 3.625000 3.434000 3.431667 3.450000
print(Sum_GPA)
## [1] 24.15
print(counter)
## [1] 4

8.

Fibonacci <- c(0,1)

for (i in 3:40) {
  Fibonacci_forty <- Fibonacci[i-1] + Fibonacci[i-2]
  Fibonacci <- c(Fibonacci, Fibonacci_forty)
}
Fibonacci
##  [1]        0        1        1        2        3        5        8       13
##  [9]       21       34       55       89      144      233      377      610
## [17]      987     1597     2584     4181     6765    10946    17711    28657
## [25]    46368    75025   121393   196418   317811   514229   832040  1346269
## [33]  2178309  3524578  5702887  9227465 14930352 24157817 39088169 63245986

9.

Fahrenheit <- function(x) {
  (9/5) * x + 32
}
Fahrenheit(0)  
## [1] 32
Fahrenheit(14)
## [1] 57.2
Fahrenheit(31)
## [1] 87.8

10.

Account <- function(P, r, n, t) {
  P*(1+(r/n))^(n*t)
}
Account(4500, 0.035, 12, 20)
## [1] 9052.659

11.

Vector_Values <- function(x) {
  c(Mean = mean(x), Median = median(x), SD = sd(x), IQR = IQR(x), Range = range(x), quantile(x, c(.25)), quantile(x, c(.95)))
}
Vector_Values(precip)
##     Mean   Median       SD      IQR   Range1   Range2      25%      95% 
## 34.88571 36.60000 13.70665 13.40000  7.00000 67.00000 29.37500 55.85500

12.

XYZ <- function(x,y,z) {
  if (x + y < 10) {
    y*z-2
  } else if (x + y >= 10 & x + y <= 15) {
    x + z + 6 
  } else {
    x*y*z
  }
}
XYZ(1,6,3)
## [1] 16
XYZ(8,6,2)
## [1] 16
XYZ(10,7,9)
## [1] 630

13.

Roots <- function(a,b,c) {
  x = b^2 - 4*a*c
  if (x > 0) {
    pos_root <- (-b + sqrt(x))/2*a
    neg_root <- (-b - sqrt(x))/2*a
    print(pos_root)
    print(neg_root)
  } else if (x == 0) {
    pos_root <- (-b + sqrt(x))/2*a
    print(pos_root) 
  } else cat("No roots")
}
Roots(5,-8.5,2.8)
## [1] 31.32782
## [1] 11.17218
Roots(-3,5,-11)
## No roots
Roots(4,-7,12.25)
## No roots