Problem 1
n_dims = floor(runif(1, min=3, max=10))
vector = c(seq(1,n_dims^2))
vector = sample(vector)
matrix = matrix(data=vector, nrow=n_dims)
print(matrix)
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,] 37 36 23 50 49 43 66 41 2
## [2,] 26 56 24 57 51 58 53 20 21
## [3,] 7 35 80 46 6 78 42 64 77
## [4,] 3 29 44 13 70 65 38 34 31
## [5,] 15 75 40 68 60 19 45 73 81
## [6,] 71 63 79 17 48 12 28 54 62
## [7,] 47 39 55 52 32 59 11 4 16
## [8,] 74 10 69 76 8 9 5 1 72
## [9,] 25 61 27 14 33 22 18 30 67
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,] 37 26 7 3 15 71 47 74 25
## [2,] 36 56 35 29 75 63 39 10 61
## [3,] 23 24 80 44 40 79 55 69 27
## [4,] 50 57 46 13 68 17 52 76 14
## [5,] 49 51 6 70 60 48 32 8 33
## [6,] 43 58 78 65 19 12 59 9 22
## [7,] 66 53 42 38 45 28 11 5 18
## [8,] 41 20 64 34 73 54 4 1 30
## [9,] 2 21 77 31 81 62 16 72 67
## [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] [,9]
## [1,] 37 36 23 50 49 43 66 41 2
## [2,] 26 56 24 57 51 58 53 20 21
## [3,] 7 35 80 46 6 78 42 64 77
## [4,] 3 29 44 13 70 65 38 34 31
## [5,] 15 75 40 68 60 19 45 73 81
## [6,] 71 63 79 17 48 12 28 54 62
## [7,] 47 39 55 52 32 59 11 4 16
## [8,] 74 10 69 76 8 9 5 1 72
## [9,] 25 61 27 14 33 22 18 30 67
## [1] 347
## [1] 327
## [1] 38.55556
## [1] 36.33333
matrix_eigen = eigen(matrix, isSymmetric(matrix), only.values = FALSE, EISPACK = FALSE)
matrix_eigen$values
## [1] 370.20554+ 0.00000i -83.36678+ 0.00000i -42.11917+45.55929i
## [4] -42.11917-45.55929i 61.00720+ 0.00000i 38.46299+34.68058i
## [7] 38.46299-34.68058i -18.62863+ 0.00000i 15.09501+ 0.00000i
## [,1] [,2] [,3] [,4]
## [1,] -0.3132101+0i -0.267070966+0i 0.0302185+0.1268664i 0.0302185-0.1268664i
## [2,] -0.3337022+0i -0.067624432+0i -0.2217946+0.0120238i -0.2217946-0.0120238i
## [3,] -0.3815769+0i -0.397614869+0i -0.1656961+0.0730065i -0.1656961-0.0730065i
## [4,] -0.3079691+0i -0.154541049+0i -0.0106710-0.4419224i -0.0106710+0.4419224i
## [5,] -0.4122647+0i -0.253456319+0i 0.2060636+0.3131059i 0.2060636-0.3131059i
## [6,] -0.3847873+0i 0.226109352+0i 0.5532132+0.0000000i 0.5532132+0.0000000i
## [7,] -0.2948010+0i 0.394017395+0i -0.2782172-0.1884402i -0.2782172+0.1884402i
## [8,] -0.2793530+0i 0.686650043+0i -0.2837804+0.2083245i -0.2837804-0.2083245i
## [9,] -0.2590892+0i -0.003997698+0i 0.1352045-0.0615828i 0.1352045+0.0615828i
## [,5] [,6] [,7] [,8]
## [1,] -0.1398215+0i 0.5330883+0.0000000i 0.5330883+0.0000000i -0.17434931+0i
## [2,] 0.1520141+0i 0.3146661-0.1354389i 0.3146661+0.1354389i -0.05763692+0i
## [3,] -0.5863114+0i -0.4059392+0.2080996i -0.4059392-0.2080996i 0.35196627+0i
## [4,] 0.1131555+0i -0.1614282+0.2161911i -0.1614282-0.2161911i -0.12361119+0i
## [5,] 0.5694698+0i -0.2007166+0.1158026i -0.2007166-0.1158026i 0.07009187+0i
## [6,] -0.1595599+0i 0.1198602-0.1119500i 0.1198602+0.1119500i -0.40406139+0i
## [7,] -0.2469320+0i 0.2243300+0.0402144i 0.2243300-0.0402144i 0.65110588+0i
## [8,] -0.1599596+0i -0.0729284+0.1223665i -0.0729284-0.1223665i -0.47286228+0i
## [9,] 0.4055352+0i -0.1373244-0.3819435i -0.1373244+0.3819435i 0.10679061+0i
## [,9]
## [1,] 0.464584558+0i
## [2,] -0.373591562+0i
## [3,] -0.526099702+0i
## [4,] -0.005705825+0i
## [5,] 0.156596211+0i
## [6,] 0.196444889+0i
## [7,] -0.288586874+0i
## [8,] 0.445965190+0i
## [9,] 0.149989257+0i
typeof(matrix_eigen$values)
## [1] "complex"
typeof(matrix_eigen$vectors)
## [1] "complex"
Problem 2
my_matrix = matrix(runif(16), nrow =4)
print(my_matrix)
## [,1] [,2] [,3] [,4]
## [1,] 0.5295516 0.6806343 0.005366403 0.5733487
## [2,] 0.2961835 0.3119202 0.880996517 0.8952758
## [3,] 0.6525389 0.1975822 0.340055098 0.8826659
## [4,] 0.5902319 0.6400515 0.502083589 0.1584570
my_logical = runif(100)
my_logical = my_logical > 0.5
my_letters = letters
sample(my_letters)
## [1] "p" "z" "u" "a" "m" "d" "e" "x" "t" "b" "w" "i" "j" "k" "f" "c" "h" "v" "l"
## [20] "o" "q" "r" "s" "g" "y" "n"
new_list = list(my_matrix[2,2],
my_logical[2],
my_letters[2])
print(new_list)
## [[1]]
## [1] 0.3119202
##
## [[2]]
## [1] TRUE
##
## [[3]]
## [1] "b"
## [1] "double"
## [1] "logical"
## [1] "character"
unrolled_list = unlist(new_list)
typeof(unrolled_list)
## [1] "character"
Problem 3
my_unis = runif(26,min=0,max=10)
my_letters = LETTERS
my_letters = sample(my_letters)
dframe = data.frame(my_unis, my_letters)
print(dframe)
## my_unis my_letters
## 1 8.6041497 D
## 2 7.4925913 C
## 3 9.5086941 G
## 4 1.8374284 L
## 5 4.3279058 H
## 6 1.0533171 I
## 7 7.7948828 O
## 8 6.7764904 J
## 9 7.0372006 X
## 10 1.8523801 K
## 11 9.7189218 Z
## 12 9.3303665 W
## 13 4.0271396 P
## 14 3.0933505 Q
## 15 8.6879436 U
## 16 6.7960876 F
## 17 8.7966844 S
## 18 4.6486368 M
## 19 6.0303771 E
## 20 9.8842434 V
## 21 2.4650537 T
## 22 3.1533062 Y
## 23 2.3766844 A
## 24 0.3558551 N
## 25 4.5152461 B
## 26 5.5308711 R
dframe$my_unis[sample(nrow(dframe),4)] = NA
print(dframe)
## my_unis my_letters
## 1 8.6041497 D
## 2 7.4925913 C
## 3 9.5086941 G
## 4 1.8374284 L
## 5 4.3279058 H
## 6 1.0533171 I
## 7 7.7948828 O
## 8 6.7764904 J
## 9 7.0372006 X
## 10 NA K
## 11 9.7189218 Z
## 12 9.3303665 W
## 13 4.0271396 P
## 14 NA Q
## 15 NA U
## 16 6.7960876 F
## 17 8.7966844 S
## 18 4.6486368 M
## 19 6.0303771 E
## 20 9.8842434 V
## 21 2.4650537 T
## 22 3.1533062 Y
## 23 2.3766844 A
## 24 0.3558551 N
## 25 4.5152461 B
## 26 NA R
## [1] 10 14 15 26
dframe$my_letters = sort(dframe$my_letters)
print(dframe)
## my_unis my_letters
## 1 8.6041497 A
## 2 7.4925913 B
## 3 9.5086941 C
## 4 1.8374284 D
## 5 4.3279058 E
## 6 1.0533171 F
## 7 7.7948828 G
## 8 6.7764904 H
## 9 7.0372006 I
## 10 NA J
## 11 9.7189218 K
## 12 9.3303665 L
## 13 4.0271396 M
## 14 NA N
## 15 NA O
## 16 6.7960876 P
## 17 8.7966844 Q
## 18 4.6486368 R
## 19 6.0303771 S
## 20 9.8842434 T
## 21 2.4650537 U
## 22 3.1533062 V
## 23 2.3766844 W
## 24 0.3558551 X
## 25 4.5152461 Y
## 26 NA Z
mean(my_unis, na.rm=TRUE)
## [1] 5.603685