나는이 같은 위도와 경도 데이터 ...어떻게 I 그룹 경도 및 위도 데이터
lat=runif(1000, min = 22.1, max = 22.8)
lon=runif(1000, min = 120, max = 120.6)
latlon=cbind(lat,lon)
나는이에 따라 서로 다른 영역으로 그들을 분류 할 ...
Zone=c("A","B","C","C","C","D","E","E","E")
North=c(23,23,22.83,22.67,22.42,22.33,22.33,22.42,22.50)
South=c(22.67,22.67,22.67,22.33,22.33,22.08,22.08,22.33,22.42)
East=c(120,120.2,120.2,120.3,120.4,120.5,120.7,120.6,120.5)
West=c(119.7,120,120.2,120,120.3,120.2,120.5,120.4,120.3)
data.frame(cbind(Zone,North,South,East,West))
내 GIS 데이터 latlon
5 개의 다른 영역으로 분리 할에는 (A, B, C, D, E) 및 I는 ifelse
befor를 사용하려고 전자하지만 매우 효율적이지는 않습니다.
어쨌든 더 빨리 끝낼 수 있습니까?
===================== 내가 애드리안 마틴의 제안
newzone=case_when(lat >= zzz$South[1] & lat <= zzz$North[1] & lon <= zzz$East[1] & lon >= zzz$West[1]~ zzz$Zone[1],
lat >= zzz$South[2] & lat <= zzz$North[2] & lon <= zzz$East[2] & lon >= zzz$West[2]~ zzz$Zone[2],
lat >= zzz$South[3] & lat <= zzz$North[3] & lon <= zzz$East[3] & lon >= zzz$West[3]~ zzz$Zone[3],
lat >= zzz$South[4] & lat <= zzz$North[4] & lon <= zzz$East[4] & lon >= zzz$West[4]~ zzz$Zone[4],
lat >= zzz$South[5] & lat <= zzz$North[5] & lon <= zzz$East[5] & lon >= zzz$West[5]~ zzz$Zone[5],
lat >= zzz$South[6] & lat <= zzz$North[6] & lon <= zzz$East[6] & lon >= zzz$West[6]~ zzz$Zone[6],
lat >= zzz$South[7] & lat <= zzz$North[7] & lon <= zzz$East[7] & lon >= zzz$West[7]~ zzz$Zone[7],
lat >= zzz$South[8] & lat <= zzz$North[8] & lon <= zzz$East[8] & lon >= zzz$West[8]~ zzz$Zone[8],
lat >= zzz$South[9] & lat <= zzz$North[9] & lon <= zzz$East[9] & lon >= zzz$West[9]~ zzz$Zone[9])
기반으로하는 새로운 코드를 작성 나는 할 수 어쨌든 있나요 더 많은 simpe 코드? 감사합니다
데이터의 재현 가능한 샘플을 게시 할 수 있습니까? –
개발 한 코드를 제공해주십시오. 다른 사람들이 코드를 개선하는 것을 더 쉽게 만듭니다. – www
코드 이미지를 게시하지 마십시오. 데이터를 직접 게시하는 것은 어렵지 않습니다. 응답자에게보다 쉽게 적용 할 수있는 방법에 대한 좋은 예가 여기에 있습니다 (http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). – r2evans