To perform Singular Value Decomposition (SVD) in R, you can use the svd()
function. This function decomposes a matrix into three matrices representing the singular vectors and values.
In this example,
mat
using the matrix()
function. This matrix represents the data we want to decompose.svd()
function to perform SVD on the matrix mat
. We assign the result to a variable named svd_res
.svd_res
using the $u
and $v
attributes and assign them to variables named u
and v
respectively.svd_res
using the $d
attribute and assign them to a variable named d
.u
and v
, as well as the vector d
to the console to see the results. This allows us to verify the decomposition.mat <- matrix(c(1, 2, 3, 4, 5, 6), nrow = 3, byrow = TRUE)
svd_res <- svd(mat)
u <- svd_res$u
v <- svd_res$v
d <- svd_res$d
print('Matrix U:')
print(u)
print('Matrix V:')
print(v)
print('Vector D:')
print(d)
[1] "Matrix U:" [,1] [,2] [1,] -0.2298477 0.8834610 [2,] -0.5247448 0.2407825 [3,] -0.8196419 -0.4018960 [1] "Matrix V:" [,1] [,2] [1,] -0.6196295 -0.7848945 [2,] -0.7848945 0.6196295 [1] "Vector D:" [1] 9.5255181 0.5143006
In this example,
mat
using the matrix()
function. This matrix represents another set of data we want to decompose.svd()
function to perform SVD on the matrix mat
. We assign the result to a variable named svd_res
.svd_res
using the $u
and $v
attributes and assign them to variables named u
and v
respectively.svd_res
using the $d
attribute and assign them to a variable named d
.u
and v
, as well as the vector d
to the console to see the results. This allows us to verify the decomposition.mat <- matrix(c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12), nrow = 4, byrow = TRUE)
svd_res <- svd(mat)
u <- svd_res$u
v <- svd_res$v
d <- svd_res$d
print('Matrix U:')
print(u)
print('Matrix V:')
print(v)
print('Vector D:')
print(d)
[1] "Matrix U:" [,1] [,2] [,3] [1,] -0.1408767 -0.82471435 0.5418041 [2,] -0.3439463 -0.42626394 -0.6625522 [3,] -0.5470159 -0.02781353 -0.3003078 [4,] -0.7500855 0.37063688 0.4210560 [1] "Matrix V:" [,1] [,2] [,3] [1,] -0.5045331 0.76077568 -0.4082483 [2,] -0.5745157 0.05714052 0.8164966 [3,] -0.6444983 -0.64649464 -0.4082483 [1] "Vector D:" [1] 2.546241e+01 1.290662e+00 2.503310e-15
In this tutorial, we learned How to Perform Singular Value Decomposition (SVD) in R language with well detailed examples.