【发布时间】:2015-12-01 06:56:51
【问题描述】:
我有 2 个包含 100 列和 10,000 行的大型矩阵。我试图将a 除以b 并计算log2,然后计算abs()。
a<-c(2,0,2,3,0,6)
b<-c(0,1,4,6,0,6)
a/b
Inf 0.0 0.5 0.5 NaN 1.0
我想用“2”代替“Inf”,用“0”代替NaN。
【问题讨论】:
-
听起来你想要一个函数,它将
Inf的所有实例替换为 2,并将NaN的所有实例替换为 0。对吗?您需要一个函数来对矩阵的每个单元格c执行此操作:如果c=Inf`` then return 2, else ifc=NaN` 则返回 0,否则返回c,对吗? -
感谢您的快速回复。对于 NaN,我想用“0”替换矩阵中的所有 NaN,但使用对应位置的 2 个矩阵中的任意一个中的非零值替换 Inf。这里在矩阵“a”中,第一个值为“2”,在矩阵“b”中,第一个值为“0”,当a/b时我得到Inf。所以我想使用“a”中的值“2”来替换 Inf。解释清楚?