Question 1
n_dims <- runif(1,3,10)
n_dims <- as.integer(n_dims)
n_dims2 <- seq(1:(n_dims^2))
sample(n_dims2) #sample vector
## [1] 52 59 45 66 22 11 18 21 78 38 35 77 28 5 72 26 60 64 32 16 8 81 24 68 40
## [26] 49 15 57 39 56 55 43 75 62 2 31 76 19 70 29 73 41 14 80 54 65 33 30 4 25
## [51] 9 23 74 36 7 47 10 44 1 20 46 12 51 69 17 61 48 42 63 58 6 67 13 53 27
## [76] 71 79 50 34 37 3
n_dims2_matrix <- matrix(n_dims2, ncol = n_dims, byrow = TRUE) #create matrix
n_dims2_matrix #print matrix
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,] 1 2 3 4 5 6 7 8 9
## [2,] 10 11 12 13 14 15 16 17 18
## [3,] 19 20 21 22 23 24 25 26 27
## [4,] 28 29 30 31 32 33 34 35 36
## [5,] 37 38 39 40 41 42 43 44 45
## [6,] 46 47 48 49 50 51 52 53 54
## [7,] 55 56 57 58 59 60 61 62 63
## [8,] 64 65 66 67 68 69 70 71 72
## [9,] 73 74 75 76 77 78 79 80 81
t(n_dims2_matrix) #transpose matrix
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,] 1 10 19 28 37 46 55 64 73
## [2,] 2 11 20 29 38 47 56 65 74
## [3,] 3 12 21 30 39 48 57 66 75
## [4,] 4 13 22 31 40 49 58 67 76
## [5,] 5 14 23 32 41 50 59 68 77
## [6,] 6 15 24 33 42 51 60 69 78
## [7,] 7 16 25 34 43 52 61 70 79
## [8,] 8 17 26 35 44 53 62 71 80
## [9,] 9 18 27 36 45 54 63 72 81
sum(n_dims2_matrix[,1]) #sum of first row
## [1] 333
sum(n_dims2_matrix[,n_dims]) #sum of last row
## [1] 405
mean(n_dims2_matrix[,1]) #mean of first row
## [1] 37
mean(n_dims2_matrix[,n_dims]) #mean of last row
## [1] 45
## eigen() decomposition
## $values
## [1] 3.817315e+02+0.0000e+00i -1.273146e+01+0.0000e+00i
## [3] 1.425937e-14+0.0000e+00i -5.978131e-15+6.0318e-15i
## [5] -5.978131e-15-6.0318e-15i 7.415305e-15+0.0000e+00i
## [7] 2.129759e-15+0.0000e+00i -1.021053e-15+0.0000e+00i
## [9] 3.741035e-16+0.0000e+00i
##
## $vectors
## [,1] [,2] [,3] [,4]
## [1,] -0.04421135+0i 0.53569778+0i 0.22259379+0i 0.08426958+0.04021902i
## [2,] -0.10624199+0i 0.40683688+0i -0.16126397+0i -0.00086269+0.07863143i
## [3,] -0.16827263+0i 0.27797597+0i 0.05065003+0i -0.08881057+0.08491135i
## [4,] -0.23030327+0i 0.14911507+0i 0.18219998+0i -0.13759512-0.04042975i
## [5,] -0.29233390+0i 0.02025417+0i -0.03771172+0i 0.24623388-0.09199648i
## [6,] -0.35436454+0i -0.10860673+0i -0.85708057+0i 0.29448602-0.39485081i
## [7,] -0.41639518+0i -0.23746763+0i 0.32750401+0i -0.53093082+0.00000000i
## [8,] -0.47842582+0i -0.36632853+0i 0.20027789+0i -0.25381064+0.37304691i
## [9,] -0.54045645+0i -0.49518944+0i 0.07283055+0i 0.38702037-0.04953166i
## [,5] [,6] [,7] [,8]
## [1,] 0.08426958-0.04021902i -0.320097377+0i -0.18327780+0i -0.02225211+0i
## [2,] -0.00086269-0.07863143i 0.008426601+0i -0.03945545+0i 0.03803621+0i
## [3,] -0.08881057-0.08491135i 0.231650006+0i 0.16179535+0i 0.32957228+0i
## [4,] -0.13759512+0.04042975i -0.053176583+0i 0.06124515+0i -0.05334482+0i
## [5,] 0.24623388+0.09199648i 0.307289077+0i 0.62885362+0i -0.77034254+0i
## [6,] 0.29448602+0.39485081i 0.337197061+0i -0.44170913+0i 0.07732643+0i
## [7,] -0.53093082+0.00000000i -0.630251601+0i -0.50831841+0i 0.51989670+0i
## [8,] -0.25381064-0.37304691i 0.397531401+0i 0.29176242+0i 0.01065132+0i
## [9,] 0.38702037+0.04953166i -0.278568586+0i 0.02910425+0i -0.12954347+0i
## [,9]
## [1,] -0.04079522+0i
## [2,] -0.03295809+0i
## [3,] -0.05151749+0i
## [4,] -0.04138519+0i
## [5,] 0.75624159+0i
## [6,] -0.36815250+0i
## [7,] -0.49723601+0i
## [8,] 0.14706246+0i
## [9,] 0.12874044+0i
typeof(n_dims2_matrix) #integer
## [1] "integer"
Question 2
my_matrix <- matrix(data = runif(16), nrow = 4, byrow =TRUE)
my_logical <- runif(100)
my_logical <- my_logical <= 0.5
my_logical
## [1] FALSE TRUE TRUE FALSE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE
## [13] TRUE TRUE FALSE FALSE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE
## [25] TRUE FALSE TRUE TRUE FALSE TRUE TRUE TRUE TRUE FALSE FALSE TRUE
## [37] TRUE FALSE TRUE TRUE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE
## [49] TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE FALSE FALSE FALSE FALSE
## [73] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE
## [85] FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE
## [97] TRUE FALSE TRUE TRUE
my_letters <- sample(letters[1:26])
my_list <- list(my_matrix,my_logical,my_letters)
my_list
## [[1]]
## [,1] [,2] [,3] [,4]
## [1,] 0.29057185 0.79005211 0.7541823 0.54634748
## [2,] 0.05648443 0.68418184 0.6610431 0.01775128
## [3,] 0.11752284 0.07585289 0.5950542 0.33300207
## [4,] 0.37186819 0.55652235 0.5418990 0.98335200
##
## [[2]]
## [1] FALSE TRUE TRUE FALSE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE
## [13] TRUE TRUE FALSE FALSE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE
## [25] TRUE FALSE TRUE TRUE FALSE TRUE TRUE TRUE TRUE FALSE FALSE TRUE
## [37] TRUE FALSE TRUE TRUE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE
## [49] TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE TRUE
## [61] TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE FALSE FALSE FALSE FALSE
## [73] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE
## [85] FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE
## [97] TRUE FALSE TRUE TRUE
##
## [[3]]
## [1] "x" "l" "a" "q" "o" "u" "t" "r" "c" "d" "s" "b" "w" "z" "v" "n" "p" "f" "g"
## [20] "h" "i" "y" "m" "j" "e" "k"
new_list <- list(my_matrix[2,2], my_logical[2], my_letters[2])
new_list
## [[1]]
## [1] 0.6841818
##
## [[2]]
## [1] TRUE
##
## [[3]]
## [1] "l"
## [1] "double"
## [1] "logical"
## [1] "character"
unlisted <- unlist(new_list)
unlisted
## [1] "0.684181839926168" "TRUE" "l"
## [[1]]
## [1] 0.6841818
##
## [[2]]
## [1] TRUE
##
## [[3]]
## [1] "l"
unlisted2 <- c(new_list[[1]],new_list[[2]],new_list[[3]])
unlisted2
## [1] "0.684181839926168" "TRUE" "l"
## [1] "character"
Question 3
my_unis <- runif(26,0,10)
my_letters <- sample(toupper(letters[1:26]))
df <- data.frame(my_unis,my_letters)
df
## my_unis my_letters
## 1 3.27984720 F
## 2 0.05088587 M
## 3 3.56866097 X
## 4 7.41333974 P
## 5 0.93524081 B
## 6 6.77826690 Q
## 7 6.29402279 A
## 8 2.73003461 C
## 9 2.58467559 V
## 10 6.31705594 T
## 11 7.00192146 R
## 12 5.70515201 U
## 13 7.13231864 L
## 14 4.55619339 I
## 15 4.47593770 E
## 16 3.92847178 K
## 17 2.10522213 S
## 18 7.30987872 J
## 19 8.55751600 D
## 20 7.67768820 W
## 21 2.55145629 H
## 22 3.13408586 Y
## 23 0.66595394 Z
## 24 3.25243569 G
## 25 8.88750195 N
## 26 2.14315828 O
df[sample(length(df$my_unis), replace = FALSE, size = 4),1] = NA
df
## my_unis my_letters
## 1 3.27984720 F
## 2 0.05088587 M
## 3 3.56866097 X
## 4 7.41333974 P
## 5 0.93524081 B
## 6 6.77826690 Q
## 7 6.29402279 A
## 8 2.73003461 C
## 9 2.58467559 V
## 10 6.31705594 T
## 11 NA R
## 12 5.70515201 U
## 13 NA L
## 14 4.55619339 I
## 15 4.47593770 E
## 16 3.92847178 K
## 17 2.10522213 S
## 18 7.30987872 J
## 19 8.55751600 D
## 20 NA W
## 21 2.55145629 H
## 22 3.13408586 Y
## 23 NA Z
## 24 3.25243569 G
## 25 8.88750195 N
## 26 2.14315828 O
## [1] "list"
## [1] 11 13 20 23
df[order(df$my_letters, decreasing = FALSE),]
## my_unis my_letters
## 7 6.29402279 A
## 5 0.93524081 B
## 8 2.73003461 C
## 19 8.55751600 D
## 15 4.47593770 E
## 1 3.27984720 F
## 24 3.25243569 G
## 21 2.55145629 H
## 14 4.55619339 I
## 18 7.30987872 J
## 16 3.92847178 K
## 13 NA L
## 2 0.05088587 M
## 25 8.88750195 N
## 26 2.14315828 O
## 4 7.41333974 P
## 6 6.77826690 Q
## 11 NA R
## 17 2.10522213 S
## 10 6.31705594 T
## 12 5.70515201 U
## 9 2.58467559 V
## 20 NA W
## 3 3.56866097 X
## 22 3.13408586 Y
## 23 NA Z
## my_unis my_letters
## 1 3.27984720 F
## 2 0.05088587 M
## 3 3.56866097 X
## 4 7.41333974 P
## 5 0.93524081 B
## 6 6.77826690 Q
## 7 6.29402279 A
## 8 2.73003461 C
## 9 2.58467559 V
## 10 6.31705594 T
## 11 NA R
## 12 5.70515201 U
## 13 NA L
## 14 4.55619339 I
## 15 4.47593770 E
## 16 3.92847178 K
## 17 2.10522213 S
## 18 7.30987872 J
## 19 8.55751600 D
## 20 NA W
## 21 2.55145629 H
## 22 3.13408586 Y
## 23 NA Z
## 24 3.25243569 G
## 25 8.88750195 N
## 26 2.14315828 O
mean(df$my_unis, na.rm = TRUE)
## [1] 4.389047