我有修改矩陣的問題。我設法根據另一個矩陣的值 改變矩陣中的值,當它們具有相同的維度時。但是現在我需要將這個過程應用於不同維度的矩陣。換句話說,我想根據 對較大矩陣的「區域」應用一些變化,但要記住我知道較大矩陣的位置與較大矩陣相關聯,即 。R根據另一個矩陣/數據幀修改矩陣/數據幀的區域
假設這是矩陣A
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
和B
0 0 0 0 0 0
0 1 1 1 1 0
0 0 1 1 1 0
0 0 1 1 0 0
0 0 0 0 0 0
我知道B [1,1]是我要檢查修改A [2,1]的值, B [2,1]爲A [3,1]等等...
我正在尋找最終的結果是
1 2 3 4 5 6 7 8
1 2 0 0 0 0 7 8
1 2 3 0 0 0 7 8
1 2 3 0 0 6 7 8
1 2 3 4 5 6 7 8
爲了使A值替換我在原來腳本
使用for循環爲(I在1:10)甲[B == I] = 0
,工程當A和B具有相同的維度。
我應該如何在矩陣A中進行替換?應用?一個for循環?
任何幫助將不勝感激,當然你可以指向我一些基本的閱讀,我還沒有讀過。
算法如何知道在哪裏放置「空」區域?從計算機的角度來看,他可以向左或向右移動小矩陣。 –
@RomanLuštrik嗨,我的數據是在一個地理柵格上,所以我有每個點的經緯度座標。所以我可以計算兩個矩陣中的哪一行和哪一列在同一個地理點 – pacomet
我建議查看空間任務視圖。包'sp'有處理空間數據的類。 http://cran.r-project.org/web/views/Spatial.html你試圖實現的基本上是「掩蓋」。 –