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等中,將記憶體中資料結構的儲存為檔案的過程稱為序列化 列集 將檔案中的資料結構恢復到應用程式中的過程稱為反序列化 散集 資料檔案格式與配置檔案 執行控制檔案...