我很新,並在使用R. 這是我的問題是初學者:如何比較柵格的單元格值與此柵格的先前單元格的值?二進制[R
我有很多細胞的大柵格。這是一個二進制柵格,所以只有0和1。我必須通過整個光柵並找到0。如果cell [i,j]是0,那麼我需要在它的4個鄰居上進行配對。
我只是想用一個小的7x7矩陣來嘗試這個。
我的想法是利用這樣的循環:
nr3=0
for (i in 1:7)
{for (j in 1:7)
{if (m[i,j]==0)
{if (m[i-1,j]!=0&&m[i,j-1]!=0)
{nr3++}
if (m[i-1,j]!=0&&m[i,j+1]!=0)
{nr3++}
if (m[i,j+1]!=0&&m[i+1,j]!=0)
{nr3++}
if (m[i+1,j]!=0&&m[i,j-1]!=0)
{nr3++} }}}
所以這就是它必須是。 但出現此錯誤:
Error in if (m[i-1,j]!=0&&m[i,j-1]!=0 {: missing value where TRUE/FALSE needed
我可以看到問題。在邊界你不能比較所有的鄰居。 這就是爲什麼我試圖與
for (i in 2:6)
for (j in 2:6)
它的工作。但問題是有些人不見了。
那麼我該怎麼辦?順便說一句,我希望有另一種可能性來解決這個任務。也許我不需要一個循環?我可以想象這對於一個非常大的光柵來說不是一個很好的解決方案。 有沒有人有想法?
你應該清楚你的意思是什麼「需要在其4個鄰國尋找配對」 ..什麼是你在看他們?你期望輸出什麼?最好用文字說明,而不是讓我們從你的代碼中找出你的意圖。 – jbaums