Section 1 Activities

a <- 9
b <- 10
c <- 2
a %% c
## [1] 1
b - c
## [1] 8
(a-c) ^ c
## [1] 49
v <- c(15,20,12,11,32,10,9,43,21,9,12,56,34,4,2)
sort(v)
##  [1]  2  4  9  9 10 11 12 12 15 20 21 32 34 43 56
a <- 9
b <- 10
c <- 2
a %% c
## [1] 1
b - c
## [1] 8
(a-c) ^ c
## [1] 49
v <- c(15,20,12,11,32,10,9,43,21,9,12,56,34,4,2)
a && b
## [1] TRUE
a > b
## [1] FALSE
b < c
## [1] FALSE
b>c
## [1] TRUE
u <- TRUE
v <- FALSE
(u|v) & (!v)
## [1] TRUE
d <- c(1,2,3,4)
e <- c(TRUE,TRUE,TRUE,FALSE)
f <- c("z", "y", "x", "w")
g <- 1:20
g
##  [1]  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20
h <- c(1:10, 9:1)
h
##  [1]  1  2  3  4  5  6  7  8  9 10  9  8  7  6  5  4  3  2  1
x <- seq(from = 2, to = 30, by = 2)
x
##  [1]  2  4  6  8 10 12 14 16 18 20 22 24 26 28 30
length(x)
## [1] 15
x[length(x)]
## [1] 30
x[x >= 10 & x <= 20]
## [1] 10 12 14 16 18 20
x[x%% 5 ==0]
## [1] 10 20 30
seq( 3,38,length.out=10)
##  [1]  3.000000  6.888889 10.777778 14.666667 18.555556 22.444444 26.333333
##  [8] 30.222222 34.111111 38.000000
a <- c(1,2,3,4,5)
b <- c(6,7,8,9,10)
a == b
## [1] FALSE FALSE FALSE FALSE FALSE
a == c(1,2,3,4,5)
## [1] TRUE TRUE TRUE TRUE TRUE
ab_array <- cbind(a,b)
ab_array
##      a  b
## [1,] 1  6
## [2,] 2  7
## [3,] 3  8
## [4,] 4  9
## [5,] 5 10
fn <- c("Lily", "Owen", "Olive", "Caitlin")
ages <-c(19, 17, 3, 19)
by <- c(2006, 2007, 2022, 2006)
fam_array <- rbind(fn, ages, by)
fam_array
##      [,1]   [,2]   [,3]    [,4]     
## fn   "Lily" "Owen" "Olive" "Caitlin"
## ages "19"   "17"   "3"     "19"     
## by   "2006" "2007" "2022"  "2006"
fn <- c("Lily", "Owen", "Olive", "Caitlin")
ages <-c(19, 17, 3, 19)
by <- c(2006, 2007, 2022, 2006)
M <- rbind(fn, ages, by)
M
##      [,1]   [,2]   [,3]    [,4]     
## fn   "Lily" "Owen" "Olive" "Caitlin"
## ages "19"   "17"   "3"     "19"     
## by   "2006" "2007" "2022"  "2006"
M[1,]
## [1] "Lily"    "Owen"    "Olive"   "Caitlin"
M[,4]
##        fn      ages        by 
## "Caitlin"      "19"    "2006"
rownames(M) <- c("name", "age", "birth year")
N <- matrix(data = c(1,2,3,8,5,6,7,4,9,10,11,12), nrow = 3, ncol = 4)
N
##      [,1] [,2] [,3] [,4]
## [1,]    1    8    7   10
## [2,]    2    5    4   11
## [3,]    3    6    9   12
c <- c(1,2,3,4)
N[3,] == c
## [1] FALSE FALSE FALSE FALSE
col_means <- colMeans(N)
print(col_means)
## [1]  2.000000  6.333333  6.666667 11.000000
View(mtcars)
mtcars[, 1:3]
##                      mpg cyl  disp
## Mazda RX4           21.0   6 160.0
## Mazda RX4 Wag       21.0   6 160.0
## Datsun 710          22.8   4 108.0
## Hornet 4 Drive      21.4   6 258.0
## Hornet Sportabout   18.7   8 360.0
## Valiant             18.1   6 225.0
## Duster 360          14.3   8 360.0
## Merc 240D           24.4   4 146.7
## Merc 230            22.8   4 140.8
## Merc 280            19.2   6 167.6
## Merc 280C           17.8   6 167.6
## Merc 450SE          16.4   8 275.8
## Merc 450SL          17.3   8 275.8
## Merc 450SLC         15.2   8 275.8
## Cadillac Fleetwood  10.4   8 472.0
## Lincoln Continental 10.4   8 460.0
## Chrysler Imperial   14.7   8 440.0
## Fiat 128            32.4   4  78.7
## Honda Civic         30.4   4  75.7
## Toyota Corolla      33.9   4  71.1
## Toyota Corona       21.5   4 120.1
## Dodge Challenger    15.5   8 318.0
## AMC Javelin         15.2   8 304.0
## Camaro Z28          13.3   8 350.0
## Pontiac Firebird    19.2   8 400.0
## Fiat X1-9           27.3   4  79.0
## Porsche 914-2       26.0   4 120.3
## Lotus Europa        30.4   4  95.1
## Ford Pantera L      15.8   8 351.0
## Ferrari Dino        19.7   6 145.0
## Maserati Bora       15.0   8 301.0
## Volvo 142E          21.4   4 121.0
mean(mtcars$mpg)
## [1] 20.09062
summary(mtcars)
##       mpg             cyl             disp             hp       
##  Min.   :10.40   Min.   :4.000   Min.   : 71.1   Min.   : 52.0  
##  1st Qu.:15.43   1st Qu.:4.000   1st Qu.:120.8   1st Qu.: 96.5  
##  Median :19.20   Median :6.000   Median :196.3   Median :123.0  
##  Mean   :20.09   Mean   :6.188   Mean   :230.7   Mean   :146.7  
##  3rd Qu.:22.80   3rd Qu.:8.000   3rd Qu.:326.0   3rd Qu.:180.0  
##  Max.   :33.90   Max.   :8.000   Max.   :472.0   Max.   :335.0  
##       drat             wt             qsec             vs        
##  Min.   :2.760   Min.   :1.513   Min.   :14.50   Min.   :0.0000  
##  1st Qu.:3.080   1st Qu.:2.581   1st Qu.:16.89   1st Qu.:0.0000  
##  Median :3.695   Median :3.325   Median :17.71   Median :0.0000  
##  Mean   :3.597   Mean   :3.217   Mean   :17.85   Mean   :0.4375  
##  3rd Qu.:3.920   3rd Qu.:3.610   3rd Qu.:18.90   3rd Qu.:1.0000  
##  Max.   :4.930   Max.   :5.424   Max.   :22.90   Max.   :1.0000  
##        am              gear            carb      
##  Min.   :0.0000   Min.   :3.000   Min.   :1.000  
##  1st Qu.:0.0000   1st Qu.:3.000   1st Qu.:2.000  
##  Median :0.0000   Median :4.000   Median :2.000  
##  Mean   :0.4062   Mean   :3.688   Mean   :2.812  
##  3rd Qu.:1.0000   3rd Qu.:4.000   3rd Qu.:4.000  
##  Max.   :1.0000   Max.   :5.000   Max.   :8.000
x<- -2.5
y<- 6.3
z <- -9.2
abs(x)
## [1] 2.5
floor(y)
## [1] 6
sqrt(abs(z))
## [1] 3.03315
signif(pi, 4)
## [1] 3.142
v <- c(1,2,3,4,5)
w <- c(6,7,8,9,10)
intersect(v,w)
## numeric(0)
union(v,w)
##  [1]  1  2  3  4  5  6  7  8  9 10
JJ <- JohnsonJohnson
mean(JJ)
## [1] 4.799762
sd(JJ)
## [1] 4.309991
var(JJ)
## [1] 18.57602
range(JJ)
## [1]  0.44 16.20
quantile(JJ,0.75)
##    75% 
## 7.1325
summary(JJ)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.440   1.248   3.510   4.800   7.133  16.200
boxplot(JJ,
        main="J&J Quarterly Earnings per J&J share (1960 to 1981)",
        xlab="Quarterly Earnings",
        horizontal=TRUE)

hist(LakeHuron,
     col="red",
     xlab="Level (feet)",
     main="Levels of Lake Huron (1875 - 1972)")

addition <- function(a,b){
  return(a+b)
}

addition(5,3)
## [1] 8
print_values_between <- function(a,b){
  i <- min(a,b)
  while(i <= max(a,b)){
    print(i)
    i<- i+1
  }
}
print_values_between(-5,5)
## [1] -5
## [1] -4
## [1] -3
## [1] -2
## [1] -1
## [1] 0
## [1] 1
## [1] 2
## [1] 3
## [1] 4
## [1] 5
addBetween <- function(a,b){
  sum <- 0
  i <- min(a,b)
  while(i <= max(a,b)){
    sum <- sum+i
    i <- i+1
  }
  print(sum)
}

addBetween(1,100)
## [1] 5050
nPr <- function(n, r) {
  answer <- factorial(n) / factorial(n - r)
  return(answer)
}
  

nPr(5,2)
## [1] 20
nCr <- function(n,r){
  if(r>n){
    print(paste("The # of ways to permute this is 0 since", r, "is greater than", n))
  }
  combination <- factorial(n)/factorial(n-r)/factorial(r)
  print(paste("The value of n choose r is", combination))
}

nCr(5,2)
## [1] "The value of n choose r is 10"
nCr(10,2)
## [1] "The value of n choose r is 45"
nCr(20,2)
## [1] "The value of n choose r is 190"