假设我有两个矩阵(例如距离矩阵),并且我想获得同时满足矩阵A中的条件A和矩阵B中的条件B的行值。
set.seed(123)
matrix_A = dist(sample(1:100, 4))
1 2 3
2 50
3 12 38
4 57 7 45
matrix_B = dist(sample(seq(0.1, 0.9, 0.001), 4))
1 2 3
2 0.717
3 0.332 0.385
4 0.041 0.676 0.291
现在我要应用一个简单的规则:多久执行一次...
我要寻找一个理想的值,该值理想地是从另一个矩阵导出的,例如
1 2 3
2 1
3 0 0
4 0 0 0
因此,此处仅对于第一和第二观察(矩阵A:50,矩阵B:0.717)是正确的规则,即共现值为1。
我将如何在R中执行此操作?我正在寻找两个矩阵的条件比较的实现。
答案 0 :(得分:2)
怎么样:
matrix((matrix_A > 40) & (matrix_B > 0.5), nrow=3, ncol = 3)
输出:
[,1] [,2] [,3]
[1,] TRUE FALSE TRUE
[2,] FALSE FALSE FALSE
[3,] FALSE FALSE FALSE
答案 1 :(得分:1)
您需要的是:
`attributes<-`(matrix_A>40 & matrix_B>0.5,attributes(matrix_A))
1 2 3
2 1
3 0 0
4 0 0 0