我mapply
在两个矩阵上使用我的函数,但最终结果是一个向量。我试过使用SIMPLIFY = TRUE
没有成功。
有没有办法让我以矩阵的形式得到我的结果而不必构造?
提前致谢。
> a=matrix(c(0,2, 0, 0, 1, 3, 0, 3, 2, 0, 3, 5, 0, 4, 0, 0),ncol=4)
> a
[,1] [,2] [,3] [,4]
[1,] 0 1 2 0
[2,] 2 3 0 4
[3,] 0 0 3 0
[4,] 0 3 5 0
> ab=matrix(c(4,2, 0, 7, 1, 4, 5, 3, 2, 6, 3, 7, 1, 2, 1, 2),ncol=4)
> ab
[,1] [,2] [,3] [,4]
[1,] 4 1 2 1
[2,] 2 4 6 2
[3,] 0 5 3 1
[4,] 7 3 7 2
> mapply(l0.0025,a,ab)
[1] 3.9900 0.0000 0.0000 6.9825 0.0000 0.9975 4.9875 0.0000
[9] 0.0000 5.9850 0.0000 1.9950 0.9975 0.0050 0.9975 1.9950
l0.0025 <- function(x, y) {
if (x-y >= 0) {0.0025*(x-y)} else {-(1-0.0025)*(x-y)}
}