Matrix exercises
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.

Please note, solutions are available here.
Exercise 1
Create three vectors x,y,z with integers and each vector has 3 elements. Combine the three vectors to become a 3×3 matrix A where each column represents a vector. Change the row names to a,b,c.
Think: How about each row represents a vector, can you modify your code to implement it?
Exercise 2
Please check your result from Exercise 1, using is.matrix(A). It should return TRUE, if your answer is correct. Otherwise, please correct your answer. Hint: Note that is.matrix() will return FALSE on a non-matrix type of input. Eg: a vector and so on.
Exercise 3
Create a vector with 12 integers. Convert the vector to a 4*3 matrix B using matrix(). Please change the column names to x, y, z and row names to a, b, c, d.
The argument byrow in matrix() is set to be FALSE by default. Please change it to TRUE and print B to see the differences.
Exercise 4
Please obtain the transpose matrix of B named tB .
Exercise 5
Now tB is a 3×4 matrix. By the rule of matrix multiplication in algebra, can we perform tB*tB in R language? (Is a 3×4 matrix multiplied by a 3×4 allowed?) What result would we get?
Exercise 6
As we can see from Exercise 5, we were expecting that tB*tB would not be allowed because it disobeys the algebra rules. But it actually went through the computation in R. However, as we check the output result , we notice the multiplication with a single * operator is performing the componentwise multiplication. It is not the conventional matrix multiplication. How to perform the conventional matrix multiplication in R? Can you compute matrix A multiplies tB ?
Exercise 7
If we convert A to a data.frame type instead of a matrix , can we still compute a conventional matrix multiplication for matrix A multiplies matrix A ? Is there any way we could still perform the matrix multiplication for two data.frame type variables? (Assuming proper dimension)
Exercise 8
Extract a sub-matrix from B named subB . It should be a 3×3 matrix which includes the last three rows of matrix B and their corresponding columns.
Exercise 9
Compute 3*A , A+subB , A-subB . Can we compute A+B? Why?
Exercise 10
Generate a n * n matrix (square matrix) A1 with proper number of random numbers, then generate another n * m matrix A2.
If we have A1*M=A2 (Here * represents the conventional multiplication), please solve for M.
Hint: use the runif() and solve() functions. E.g., runif(9) should give you 9 random numbers.
Image: “200px-Sudoku06u” by DrBorka from nl. Licensed under Wikimedia Commons.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.