R 資料科學(八) 矩陣

2021-09-29 02:58:29 字數 2169 閱讀 6813

本文中關於矩陣的內容僅限於r中資料結構,並不涉及線性代數裡面的概念。

在r的資料結構中,矩陣就是摺疊的向量,所以對於數值型向量的運算也可以用在矩陣上。

在介紹矩陣的運算前,我們得明白乙個概念迴圈補齊,這對我們認識矩陣的本質有很大幫助,所謂迴圈補齊,就是當長度呈倍數關係的兩個向量進行運算時,r會自動按照較長的向量的長度,將較短的向量重複,直到和較長的向量等長。

迴圈補齊示例:

vec =

rep(1:

4,4)

vec## [1]

1234

1234

1234

1234

a =1:4

a## [1]

1234

vec/a

## [1]

1111

1111

1111

1111

既然我們說矩陣就是摺疊的向量,那麼對於乙個矩陣是否也會存在同樣的操作呢,答案當然是yes。

m =

matrix

(vec,nrow =

4,ncol =

4) # 預設向量按列填充為矩陣

m## [,1

][,2

][,3

][,4

]## [1,

]111

1## [2,

]222

2## [3,

]333

3## [4,

]444

4m/a

## [,1

][,2

][,3

][,4

]## [1,

]111

1## [2,

]111

1## [3,

]111

1## [4,

]111

1

通過上面兩個例子,我們可以清楚的看到,雖然乙個是向量,乙個是矩陣,但是與另外乙個向量進行運算時產生了相同的結果,只是呈現方式不同罷了。理解了矩陣的本質,那麼能夠對向量進行的運算,就可以理所當然的用在矩陣中

x + y          # 相加

x - y # 相減

x * y # 相乘

x / y # 相除

x %% y # 求餘

x %/

% y # 整除

x ^ y # 指數

abs(x) # 求絕對值

sqrt

(x) # 平方根

log2

(x) # 2為底的對數

log(x) # e未底的對數

log10

(x) # 10為底的對數

log(x,base=n) # 對x取n未底的對數

exp(x) # 指數

sin(x) # 正弦

cox(x) # 余弦

tan(x) # 正切

ceiling

(x) # 取頂

floor

(x) # 取底

trunc

(x) # 取整

round

(x, digits=n) # 將 x 捨入為指定位的小數

signif

(x, digits=n) # 將 x 捨入為指定的有效數字位數

rowsums

() # 每行和

rowmax

() # 每行最大值

rowmin

() # 每行最小值

rowmeans

() # 每行均值

rowmedians

() # 每行中位數

colsums

() # 每列和

colmeans

() # 每列均值

R語言資料轉矩陣 矩陣運算

將txt讀取 data read.table ex12 11.txt header t data infant age weight systolicbp 1 1 3 2.61 80 2 2 4 2.67 90資料轉矩陣 m as.matrix data m infant age weight sy...

R資料結構 矩陣

矩陣的建立 在r中用函式matrix 來建立乙個矩陣,使用該函式時需要輸入必要的引數值。matrix data na,nrow 1,ncol 1,byrow false,dimnames null 1.data 向量元素列表 2.nrow行數 3.ncol列數 4.byrow 矩陣是按列優先的方式進...

《資料科學 R語言實現》 1 2 建立R函式

r語言是函式的集合 使用者可以在專案中使用各個程式包中的內建函式,或者為專門的目的定義新的函式。在本教程中,我們會展示如何建立乙個r函式。執行下列步驟來建立你的第乙個r函式。1.在r控制台中鍵入下列 建立第乙個函式 2.使用下列命令,執行使用者定義的函式addnum 或者,你也可以不使用return...