【发布时间】:2014-02-28 13:42:18
【问题描述】:
我有一个矩阵A 和i,j,z 值(1:72,1:205,z)。我想用数据框B 的z 值替换矩阵A 的z 值,并将其他非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 值。
任何帮助将不胜感激,谢谢!
【问题讨论】:
-
B的第一行真的是c(1, 6, 1),而不是c(6, 1, 1)(你的结果矩阵似乎暗示了这一点)
标签: r matrix replace dataframe