在r中可以用函式matrix()來建立乙個矩陣,應用該函式時需要輸入必要的引數值。 > args(matrix) function (data = na, nrow = 1, ncol = 1, byrow = false, dimnames = null) data項為必要的矩陣元素,nrow為行數,ncol為列數,注意nrow與ncol的乘積應為矩陣元素個數,byrow項控制排列元素時是否按行進行,dimnames給定行和列的名稱。
amm也可以用scan(),如a=scan()
m> m> var(m)[,1] [,2]
[1,] -0.2504222 -0.06554779
[2,] -0.1280644 -0.56722128
[3,] 0.5754956 -0.19835075
[4,] 1.1872865 -0.66520250
[5,] 0.9425697 -1.04680095
[6,] 0.8813910 -1.12941258
[7,] 0.9349228 -0.33907873
[8,] 1.0037492 -0.75525877
[9,] 0.9655123 -1.17696225
[10,] 0.9043332 -1.14958515
[11,] 0.8584489 -0.80593043
[12,] 0.8049172 -0.70290605
[13,] 0.7743276 -0.33643707
[14,] 0.5831430 -0.22836956
[15,] 0.4378426 0.70245203
[16,] 0.4378426 1.08645184
[17,] 0.6596168 0.90105613
[18,] 0.2313632 1.39240301
[19,] -0.3498382 1.02113127
[20,] -0.8010340 1.67097731
[21,] -1.2675246 -0.09796806
mean(x)和var(x),分別計算樣本均值和樣本方差,這兩個函式分別相當於sum(x)/length(x),sum((x-mean(x)) \^2)/(length(x) -1)。如果var()的引數是乙個n*p的矩陣,那麼函式的值是乙個p*p的樣本協方差矩陣,認為每行是乙個p變數的樣本向量。
因此求解協方差可以為
var(m)
[,1] [,2]
[1,] 0.4244522 -0.3229035
[2,] -0.3229035 0.7926980
將其賦值給n> svd(n)nsvd(n)即可求得svd值
$d[1] 0.9802846 0.2368656
$u[,1] [,2]
[1,] -0.5023242 0.8646794
[2,] 0.8646794 0.5023242
$v[,1] [,2]
[1,] -0.5023242 0.8646794
[2,] 0.8646794 0.5023242
另外可見:
R中矩陣的奇異值分解SVD
singular value decomposition svd 奇異值分解是一種具有重要實際應用意義的矩陣分解方式,已經具有很廣泛的應用,如壓縮儲存,矩陣求秩,確定投影運算元等。通常儲存矩陣值是按行或者列儲存矩陣的每乙個值,奇異值分解的結果可作為一種儲存矩陣值的另一種方式。奇異值分解將矩陣進行等價...
R的基本操作
1.輸入資料 x c 1,2,3,4,5,6,7,8,9 輸入資料,c 為連線函式1.1 計算均值和標準差 mean x 均值 sd x 標準差1.2 直方圖 hist x 直方圖2.向量 2.1基本運算 11 4 餘數 sqrt 2 開方 factorial x 階乘 floor x ceilin...
MATLAB基本矩陣函式和操作
eye 單位矩陣 zeros 全零矩陣 ones 全1矩陣 rand 均勻分布隨機陣 genmarkov 生成隨機markov矩陣 linspace 線性等分向量 logspace 對數等分向量 logm 矩陣對數運算 cumprod 矩陣元素累計乘 cumsum 矩陣元素累計和 toeplitz ...