日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

r语言中矩阵QR分解_从零开始学R语言Day4|向量、矩阵和数组

發(fā)布時間:2025/4/16 56 豆豆
生活随笔 收集整理的這篇文章主要介紹了 r语言中矩阵QR分解_从零开始学R语言Day4|向量、矩阵和数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

從零開始學R語言Day4|向量、矩陣和數組

1.1向量

1.1.1向量

在Day2中我們提及過用和c()函數來構建向量,具體實例如下。

我們還可以采用vector(“類型”,長度)函數來創(chuàng)建一個指定類型和長度的矢量,這里的類型是指數據類型。但是個人覺得這個函數很雞肋,因為不能控制具體的參量輸入,只能做初始化用途,據說是R語言發(fā)展歷史中的遺留函數,所以本函數就權當了解一下R的歷史吧。具體實例如下:

此后這樣的雞肋函數將不再介紹和記錄,感覺意義不大。

1.1.2序列和索引

可以用seq()函數構建序列,功能和:相似,但與:不同的是seq能夠控制步長。因此seq()比:會更好用一點。seq()的用法如下:

seq(初始值,終止值,步長)

seq()函數下的各種方法的功能均相仿,對此我也表示比較困惑,諸如http://seq.int、seq_len、seq_along。

值得一提的是seq.Data()是對時間取序列

length()函數可以求得所有數據類型的長度,但要注意對字符串類型的向量求長度的時候計算的是向量里的因子個數

如果要求得向量里每個字符串的長度,則使用nchar()

用 變量命[] 這種形式可以索引向量中的某個元素,需要注意的是,R中下表不是從0開始計算而是從1開始計算。當你想要一次返回多個值時,應該用c()函數聯(lián)接下標,否則將報錯。

如果給向量中每個函數進行了命名,索引其名字也可以返回值。

R語言的索引和其他語言的索引還有一個不同之處,一般編程語言以負數為下標是從末尾往前讀取,比如說-1讀取的是最后一個字符,但是在R中以負數為索引則是不引用這個位置的字符的意思。比方說x[-2]則是跳過下標為2的字符,具體實例如下:

x[] 這條指令將返回整個向量

which()將返回邏輯值為真的值的位置,因此當你需要檢索檢索某個區(qū)間內的值的位置的時候可以很方便的使用他,which.min()是檢索出最小值的位置,which.max()是檢索出最大值的位置。

rep()函數允許重復使用元素創(chuàng)建矢量,rep有幾種用法,不太好用語言概述,因此枚舉簡單的實例加以注解

rep_len()是rep(1:5,length.out=7)這個用法的變體

1.2矩陣和數組

向量是數組的特殊形式,即一維數組,故此處的數組是從二維開始算起的。矩陣也是數組的特殊形式。

1.2.1創(chuàng)建數組和矩陣

array()函數創(chuàng)建數組,它總共可以輸入值、維度和維度名三個參量,當然參數名是一個可選的參量,不輸入系統(tǒng)會生成默認的參量名。下面上例子,通過例子加注解的方式會更直白。

矩陣的構建使用matrix()函數,具體用法和array()相似,只是matrix()沒有dim參量,而是換成了nrow、ncol.上實例:

在這里我不得不多嘴一句,在構建這種有大量括號的語句的時候,一定要小心細致的檢查任意一個標點符號,任何地方出錯都會報如下錯誤

我在編例子時就因為丟了一個小小的逗號報錯了。

1.2.2數組的索引

數組的索引和向量的索引語法一致,四種指定索引的方法在這里均可成立(正整數、負整數、邏輯值、元素名稱),這里不過多的贅述。

語法:x[第幾行,第幾列]也可以結合c函數同時索引幾個數據。

1.2.3合并矩陣

第一步:用c函數將兩個矩陣轉換成向量

第二步,根據自身需要選擇cbind()、rbind()函數按行和列來綁定兩個矩陣

1.2.4數據運算

在復合線性代數的規(guī)則下,數組之間均可以進行加減乘除,比如上例中要將x、y相加,直接鍵入x+y即可。

t()函數可以用來轉置矩陣,但不能轉置更高維度的數組

矩陣的內乘運算使用%*%這一運算符,外乘使用%o%這一運算符,這里不再舉例,運用十分簡單。

矩陣求反

方法一:

先對矩陣求-1次冪,再對求得的-1次冪的矩陣用solve()函數。

注意!!!必須時正方形的矩陣,否則報錯!!!

法二:還可以用qr.solve()或chol2inv(chol(m))替代solve(),不過一般記住solve函數就行

【未完待續(xù),持續(xù)更新……】

總結

以上是生活随笔為你收集整理的r语言中矩阵QR分解_从零开始学R语言Day4|向量、矩阵和数组的全部內容,希望文章能夠幫你解決所遇到的問題。

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