【发布时间】:2019-09-13 03:31:23
【问题描述】:
假设我有两个矩阵(例如距离矩阵),我想获得满足矩阵 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
现在我想应用一个简单的规则:多久做一次......
- 矩阵 A 中大于 40 的值和
- 矩阵B中大于0.5的值同时出现?
我会寻找理想情况下从另一个矩阵派生的单个值,例如
1 2 3
2 1
3 0 0
4 0 0 0
所以这里只有第一次和第二次观察(矩阵 A:50,矩阵 B:0.717)是规则为真,即共现值为 1。
我将如何在 R 中做到这一点?我正在寻找两个矩阵的条件比较的实现。
【问题讨论】:
-
replace(matrix_B, TRUE, (matrix_A > 40) * (matrix_B > 0.5))