对于特定坐标,用另一个矩阵的值替换矩阵的一部分

标签 r matrix replace dataframe

我有一个矩阵Ai , j , z值( 1:721:205z )。我想更换 z矩阵的值A通过z数据框的值 B ,并放置其他非 NA值为 0。

矩阵A :

     1   2   3   4   5   6   7 ... 205
1  999 999   0   0   0   0 1.7       0
2  999   0 0.3 1.2 4.3 2.1   0     3.8
...
72 999 999 999 999 999   0   0     2.5

数据框B :

 i   j  z
 6   1  1
 3   2  1

我想要什么:

     1   2   3   4   5   6   7 ... 205
1  999 999   0   0   0   1   0       0
2  999   0   1   0   0   0   0       0 
...
72 999 999 999 999 999   0   0       0

我知道如何用另一个数字替换特定数字,例如 A[A== 0]<-B ,但我的第二个数据集是一个 3 列数据框,仅包含 i , j一些点的值。

如有任何帮助,我们将不胜感激,谢谢!

最佳答案

A[as.matrix(B[1:2])] <- B[[3]]

您可以使用 B 的前两列作为 A 的数字索引。

关于对于特定坐标,用另一个矩阵的值替换矩阵的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21555006/

相关文章:

c - 错误 : invalid type argument of unary '*' (have 'int' )

c++ - 在 C++ 中堆重载和读取文件的二维矩阵

python - 有条件地调用 R 中的特定列

r - 如何在 pdf/演示文稿中嵌入交互式 Shiny 图? (也许通过 knitR)

python - 如何在 Numpy 中使用数组作为它自己的索引

C 作业 - 字符串循环替换

python - 仅当子字符串单独时才替换 str 列表中的子字符串 - python

python - 比 re.sub 更快(更 Pythonic)的解决方案?删除前缀(由许多相同的字符组成)

R:使用 dynlm 包进行动态线性回归,如何预测()?

r - "log"使用 plot() 时不是图形参数错误