0
我想用相同列中非零值的一半替換數組列中的值。例如:R用相同列中非零值的一半替換數組中的值
# example
a <- c(0, 1, 3)
b <- c(2, NA, 4)
c <- cbind(a,b)
# find non-zero minimum and divide by 2
m <- apply(c, 2, function(x) min(x[x>0], na.rm = T))/2
我想獲得這個
a b
[1,] 0.5 2
[2,] 1 1
[3,] 3 4
但是當我嘗試更換0(和NAS)與上述使用的計算值:
cc <- apply(c, 2, function(x) replace(x, x==0, m))
我得到NA不允許的消息,並且要替換的項目數不是替換長度的倍數。我明白問題所在,但無法弄清楚如何解決問題。謝謝你的幫助。