本文中關於矩陣的內容僅限於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...