나는 꽤 초보자 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)
로 근무 것을 시도하는 이유 때문이다. 그러나 문제는 일부가 빠져 있다는 것입니다.
그럼 어떻게해야합니까? 그런데이 작업을 해결할 다른 가능성이 있기를 바랍니다. 아마 루프가 필요하지 않을까요? 나는 이것이 매우 큰 래스터를위한 아주 좋은 해결책이 아니라는 것을 이미지 할 수있다. 누구나 아이디어가 있습니까?
당신이 무슨 뜻인지 명확히해야 당신이 그들을보고있는 것을 ... "그 네 이웃에 페어를 볼 필요가?" 당신은 어떤 결과물을 기대합니까? 코드에서 의도를 찾아내는 것보다는 말로 표현하는 것이 낫습니다. – jbaums