當前位置:編程學習大全網 - 編程語言 - R語言系列8

R語言系列8

矩陣是可以看作壹種特殊的向量的,它比向量多了兩個附加屬性,行數和列數,因此讓它的復雜程度獲得了提高。

向量作為R中的壹種非常基礎的數據類型,大家通過過去的學習壹定已經徹底的掌握了。但是,這個世界上的數據是復雜多變的,我們只使用向量是無法表示更加復雜的數據情況。

我們在線性代數課上學過壹種數學概念,矩陣。這個概念在為了統計學家開發的R語言中同樣適用,並且只需要在基礎環境中,我們可以具有很多對矩陣的操作方法。

( 由於R其實處理數據框較多,矩陣並不會講很多的東西,如果非要使用矩陣,我其實還是更推薦去隔壁Python學習np和scipy )

任何數據類型學習的開始都是如何得到它,也就是如何創建它。矩陣也不例外,我們首要的 創建方式就是直接使用matrix函數進行創建 。而且其實說是創建矩陣,我們其實是在把壹個向量轉化為矩陣,

上面就是最基本的創建矩陣的方法了。我們 需要給matrix壹個向量 (其實矩陣也可以,不過就會讓妳產生壹些奇奇怪怪的誤導,後面講解了矩陣轉向量的時候妳就明白了),這個向量的內容就會成為創建的矩陣的內容。

然後跟著需要 指定妳想創建的行數或者列數 ,這兩個只需要指定其壹即可,R會給我們計算另壹個數字是幾的,這樣,我們就創建好了壹個矩陣。

但是我們可以發現壹個問題,我們創 建的矩陣是豎著壹排排放的,這個叫做,****列優先原則 ,我們也可以通過指定參數 byrow,來讓矩陣變成行優先

這就是行優先矩陣了,存儲的內容都是壹樣的,就是行列優先順序不同。

到這裏妳可能就會問了,R是不是只能創建方陣呢,普通的矩陣能不能創建呢?那當然可以了

我本人是習慣列優先進行存儲的,所以我壹般不指定byrow參數。

任何壹種數據類型,我們對它最優先的操作學習,都是索引操作。任何壹種結構的數據,我們存儲它的目的都是為了使用,所以學習如果取到它的值,是非常重要的事情。

對矩陣的基本索引方式和向量非常相似,如果不了解向量的直接索引,布爾索引和連續索引,請看

由於有了上面的基礎,所以我們先索引點簡單的,然後做兩個不壹樣的案例。矩陣和向量最大的區別再與矩陣具有兩個維度,索引的時候需要兩個位置

這裏停壹下,我們取第壹行的所有列就已經是不同了,要註意, 當我們想取某壹行的所有列,或者某列的所有行,或者當妳想取所有的時候,把位置空出來 ,R就會自動給妳取到所有。

說完了上面的,下面就都非常簡單了

大家尤其要註意最後壹種,取前兩行和後兩列的操作,很多時候這是非常有用的步驟,會減少妳使用循環,提高程序的運行速度。

講解完了索引,我們來講壹下如何矩陣的內容以及刪除矩陣的行列。

其實修改特定位置的值非常簡單,我們都已經找到了,修改就是壹瞬間的事情,

除了單個值的修改,我們 還可以對索引到的行和列進行修改 ,壹般來說,我們會直接把要修改的結果放進向量中,然後進行修改,但是如果修改的值不夠長,也是可以操作的,如下

如果妳對上面的內容表示有些困惑,那麽妳應該回憶壹下,

這裏有著妳需要了解的壹切。

最後講解如何刪除矩陣的行列,這裏的操作也和向量是壹樣的,具體請回顧

本文的全部內容就到此結束了,這篇文章講解了 最最基本的矩陣創建方法,以及對矩陣進行索引的操作,加上修改矩陣元素和刪除矩陣的列等等 ,這些都是使用矩陣的基礎知識,需要徹底掌握,才能在矩陣的使用中得心應手。

下壹篇文章將會介紹矩陣維度,矩陣轉化為向量以及矩陣的各種運算,矩陣的轉置等內容。

  • 上一篇: 變量類型7-矩陣的創建修改和索引
  • 下一篇:她要去澳大利亞留學了。臨走時送點什麽好呢
  • copyright 2024編程學習大全網