Home Page

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
t(matrix)
##       [,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
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
sum(matrix[1,])
## [1] 347
sum(matrix[4,])
## [1] 327
mean(matrix[1,])
## [1] 38.55556
mean(matrix[4,])
## [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
matrix_eigen$vectors
##                [,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"
typeof(new_list[[1]])
## [1] "double"
typeof(new_list[[2]])
## [1] "logical"
typeof(new_list[[3]])
## [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
which(is.na(dframe))
## [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