R語言程式設計藝術讀書筆記4 矩陣和陣列(2)

2021-08-02 18:25:19 字數 1644 閱讀 5953

1、操作矩陣的行和列

引數詳解: m矩陣

矩陣維度編號 1代表行 2代表列

f 函式

fargs 函式f的可選引數集

exp:

z<-matrix(c(1,2,3,4,5,6),nrow=3)

輸出:2 5 #第一列1 2 3平均2 第二列4 5 6平均5

exp:自定義f

z<-matrix(c(1,2,3,4,5,6),nrow=3)

f <- function(x)

輸出:0.5 1.000 1.50

0.5 0.625 0.75

轉置函式:t()

輸出:0.5 0.500

1.0 0.625

1.5 0.750

exp:函式引數fargs示例 

x <- matrix(c(1,0,1,1,0,1,1,1,1,0,1,0,0,1,1,0,1,1,1,0),nrow=4)

copymaj <- function(rw d)

案例:檢測異常值(離散點)

findols <- function(xrow)

}findols(rs)

2、矩陣行列的增加刪除

嚴格來講矩陣不可以增加或者刪除行列 只是通過重新賦值來改變矩陣的值 達到類似新增或刪除的效果

rbind():按行繫結

cbind():按列繫結

與向量值得增加刪除類似:

exp:

one <- c(1,1,1,1)

z <- matrix(c(1,2,3,4,1,1,,0,0,1,0,1,0),4)

cbind(one,z) #也可以利用迴圈補齊規則 改寫為cbind(1,z)

輸出:1 1 1 1

1 2 1 0

1 3 0 1

1 4 0 0

案例:找到圖中距離最近的一對端點

code:

mind <- function(d)

imin <- function(x)

**現在不必深究 理解解題的思路以及部分函式的使用即可

3、向量與矩陣差異

矩陣類exp:class(z) 輸出「matrix」 ;attributes(z) $dim  輸出矩陣行數 列數 

4、其它

避免降維:z[2,,drop=false]

向量轉矩陣:as.matrix(c)

矩陣列命名:colnames(z) <- c("a","b") 為矩陣z的第一列命名a 第二列命名b  

矩陣行命名:rownames(z) <- c("a","b") 為矩陣z的第一行命名a 第二行命名b

多維陣列:多於二維的資料使用陣列表示(後續章節的列表、資料框等型別更容易表達此類資料)

exp:

tests <- array(data=c(test1,test2),dim=c(3,2,2)) #test1、test2均為矩陣 dim的c(3,2,2) 最後乙個2表示兩層; 前面的3,2每層3列兩行。

取值:exp:tests[3,2,1] 表示第1層資料的第2列的第3行

R程式設計藝術讀書筆記(5 6章)

r 語言程式設計藝術 第五章 drop f 表示向量變成資料框的引數條件。complete.cases 用法跟na.rm和na.omit有點相似,但可以精確刪除某行或某列。用法是 x complete.cases x 5 6 x為資料集。logistic模型 glm函式,family binomia...

JS DOM程式設計藝術 讀書筆記 完

花了乙個星期 終於把 js dom程式設計藝術 零零散散的看了一遍 這是最近乙個半月來看的第四本有關js的書 其它分別是 js完全自學手冊 js王者歸來 js程式設計教程 而之所以會去看這本 是看了csdn上展望js的乙個帖子 裡面很推薦 說說心得吧 感覺這本書說的東西 都是一些很底層很實用的東西 ...

讀書筆記《Unix程式設計藝術》二

文字化包含兩種設計,一種是將應用資料儲存在永久儲存器 磁碟等 中檔案格式,另一種是在協作程序之間傳遞資料和命令的應用協議。通常在c python等中,將記憶體中資料結構的儲存為檔案的過程稱為序列化 列集 將檔案中的資料結構恢復到應用程式中的過程稱為反序列化 散集 資料檔案格式與配置檔案 執行控制檔案...