0
假設我有三個矩陣:通過r中的多個參數調用相同的函數?
Mat1 = matrix(0,4,4)
Mat2 = matrix(0,4,4)
Mat3 = matrix(0,4,4)
然後假定我需要創建矩陣的數量是很難做手工。另外,我想用low.tri(Mat1)
作爲一個低三角矩陣的函數,所以有什麼辦法可以做到這一點。
我搜索lapply
家庭,但無法找到我的問題的答案。
假設我有三個矩陣:通過r中的多個參數調用相同的函數?
Mat1 = matrix(0,4,4)
Mat2 = matrix(0,4,4)
Mat3 = matrix(0,4,4)
然後假定我需要創建矩陣的數量是很難做手工。另外,我想用low.tri(Mat1)
作爲一個低三角矩陣的函數,所以有什麼辦法可以做到這一點。
我搜索lapply
家庭,但無法找到我的問題的答案。
lapply
用於列表。首先,將所有矩陣插入list
。 lower.tri
是一個邏輯功能。如果你想得到一個更低的三角形,你應該創建一個類似於下面的f
的函數。然後你可以使用lapply
像這樣:
Mat1 = matrix(0,4,4)
Mat2 = matrix(0,4,4)
Mat3 = matrix(0,4,4)
l <- list(Mat1,Mat2,Mat3)
f <- function(m) {
m[lower.tri(m)] <- 1
m
}
lapply(l,f)
[[1]]
[,1] [,2] [,3] [,4]
[1,] 0 0 0 0
[2,] 1 0 0 0
[3,] 1 1 0 0
[4,] 1 1 1 0
[[2]]
[,1] [,2] [,3] [,4]
[1,] 0 0 0 0
[2,] 1 0 0 0
[3,] 1 1 0 0
[4,] 1 1 1 0
[[3]]
[,1] [,2] [,3] [,4]
[1,] 0 0 0 0
[2,] 1 0 0 0
[3,] 1 1 0 0
[4,] 1 1 1 0
並創造了大量的這些矩陣,試試:'lapply(1:_number_of_matrixes_you_want_,函數(x)的矩陣(0,4,4))' – coffeinjunky