3×3の行列m
に1つ以上のゼロがあり、各ゼロを所定の数で置き換えたいとします。列iにある行列/データフレームの値をベクトルのi番目の要素に置き換えます。
交換は、この規則に従わなければならない:ゼロm
の最初の列に見つかった場合
をゼロm
の2列目に発見された場合、それは、ベクターv
の最初の要素と置き換えなければなりませんそれはベクトルv
の第2の要素と置き換えられ、第3の列/ベクトル要素についても同じでなければなりません。
行列及びベクトルである。もちろん
m <- matrix(c(0,2,3,4,0,6,0,8,0), 3, 3, byrow = TRUE)
v <- c(1,5,9)
、v
のlength
はm
の列の数と一致しなければなりません。だから、マトリックスは、このようなものです:最終的な結果はなるよう
0 2 3
4 0 6
0 8 0
私は、そうでRはm
の最初の列にゼロを見つけた時はいつでも、それはベクトルv
の最初の要素でそれを置き換えることをしたい、と:
1 2 3
4 5 6
1 8 9
私は多くの研究を行い、この問題の解決策は見つかりませんでした。誰かが助けてくれますか?
'mの[メートル== 0] < - V [1]'あなたの問題の説明に反し、ご希望の結果では、望ましい結果 – Jaap
を与え、あなたは常に 'Vとゼロを置き換える[1]'。 – Julius
あなたの説明は、結果が 'matrix(c(1,4,1,2,5,8,3,6,9)、3)' –