日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

R 操作矩阵和计算SVD的基本操作记录

發布時間:2024/8/26 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 R 操作矩阵和计算SVD的基本操作记录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在R中可以用函數matrix()來創建一個矩陣,應用該函數時需要輸入必要的參數值。 > args(matrix) function (data =?NA, nrow = 1, ncol = 1, byrow = FALSE, dimnames =?NULL) data項為必要的矩陣元素,nrow為行數,ncol為列數,注意nrow與ncol的乘積應為矩陣元素個數,byrow項控制排列元素時是否按行進行,dimnames給定行和列的名稱。

a<-c(3,4,9,8,3,55,2,334)

m<-matrix(a, byrow=T, nrow=2)

m

也可以用scan(),如a=scan()

m<-matrix(a, byrow=F, nrow=21)

> 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)

> var(m)
[,1] [,2]
[1,] 0.4244522 -0.3229035
[2,] -0.3229035 0.7926980


將其賦值給n
n<-m
svd(n)即可求得svd值

> svd(n)

$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

另外可見:
http://www.cnblogs.com/einyboy/p/3182589.html
http://www.biostatistic.net/thread-2522-1-1.html
http://blog.csdn.net/u013259893/article/details/40483189

轉載于:https://www.cnblogs.com/bnuvincent/p/5896331.html

總結

以上是生活随笔為你收集整理的R 操作矩阵和计算SVD的基本操作记录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。