R語言apply 函式用法

2022-08-31 08:09:11 字數 1366 閱讀 9096

定義乙個3×2的矩陣:

rname = c("

one","

two","

three")

cname = c("

first

","second")

b <- matrix(1:6,nrow=3, dimnames = list(rname, cname))

b為:

first second

one 1 4

two 2 5

three 3 6

繼續舉幾個例子:

上面的指令代表對矩陣b進行行計算,分別對每一行進行求和。函式涉及了三個引數:

第乙個引數是指要參與計算的矩陣;

第二個引數是指按行計算還是按列計算,1——表示按行計算,2——按列計算;

第三個引數是指具體的運算引數。

上述指令的返回結果為:

one   two three 

5 7 9

舉乙個3維的情況:

首先頂乙個三維陣列:

x=array(1:24,c(2,3,4))

三維陣列為:

, , 1

[,1] [,2] [,3]

[1,] 1 3 5

[2,] 2 4 6

, , 2

[,1] [,2] [,3]

[1,] 7 9 11

[2,] 8 10 12

, , 3

[,1] [,2] [,3]

[1,] 13 15 17

[2,] 14 16 18

, , 4

[,1] [,2] [,3]

[1,] 19 21 23

[2,] 20 22 24

使用如下指令:

則對1到23的所有奇數進行求和,結果為:

[1] 144 156
同樣,第二個引數改成2後, 

結果為:

[1]  84 100 116
是按照第二個維度進行的求和計算。

第二個引數改成3後,

結果為:

[1]  21  57  93 129
即對第三個維度進行求和計算。

定義了乙個求平方和的函式:

myfun <-function(x)

如果選擇按行計算平方和,可使用如下指令:

計算結果為:

one   two three 

17 29 45

R語言 apply函式族

作用目標 在每個元素上應用 在子集合上應用 array listby 在array上,沿margin方向,依次呼叫 fun,返回結果通常為array型別,如果返回值的向量長度不等,則返回list物件。margin表示陣列引用的第幾維下標 即array index1,index2,中的第幾個index...

R語言apply函式簇

示例 x為列表 x list a 1 5,b 6 10,c 11 15 xx a 1 1 2 3 4 5 b 1 6 7 8 9 10 c 1 11 12 13 14 15 a 1 3 b 1 8 c 1 13示例 列表 x list a 1 5,b 6 10,c 11 15 spply函式 a b...

r語言qsignrank函式用法 R語言常用函式名

一 資料管理 vector 向量 numeric 數值型向量 logical 邏輯型向量 character 字元型向量 list 列表 data.frame 資料框 c 連線為向量或列表 length 求長度 subset 求子集 seq,from to,sequence 等差序列 rep 重複 ...