R을 사용하여 혼합 된 위도 집합이도 분에서 십진수로 변환 될 때 남위의 마이너스 기호로 인해 발생하는 오류를 방지하는 방법

Sudheera

나는 북쪽 (양수)과 음의 위도 열과 데이터 프레임에 별도의 분 열의 혼합 데이터 세트를 가지고 있습니다. 나는 이것을 십진수로 변환하기 위해 간단한 위도 + (분 / 60)를 사용했습니다.

lat1 <- c(7, -7, 6,  -0, -1, 6,  8, -7, 6,  6)
lat2 <- c(7.4, 55.7, 32.6,  8.9, 47.5, 25.6,  6.8, 45.7, 24.6,  7.6)

ifelse(lat1<0,(lat <- lat1-(lat2/60)),(lat <- lat1+(lat2/60)))

>[1]  7.1233333 -7.9283333  6.5433333  0.1483333 -1.7916667  6.4266667
 [7]  8.1133333 -7.7616667  6.4100000  6.1266667

이 결과는 정확하지만

> lat
 [1]  7.1233333 -6.0716667  6.5433333  0.1483333 -0.2083333  6.4266667
 [7]  8.1133333 -6.2383333  6.4100000  6.1266667

ifelse 문은 R 콘솔에서 올바른 결과를 제공하지만 벡터 "lat"에 저장하지 않습니다. 정도 값이 양수이면도에 분 / 60을 더하고도 값이 음수이면도에서 분 / 60을 빼야합니다.

user1470500

여기서 ifelse를 사용하는 올바른 구문은 다음과 같습니다.

lat <-  ifelse(lat1 < 0, lat1 - lat2 / 60, lat1 +  lat2 / 60)

ifelse구성 요소 i = lat1[i] - lat2[i] / 60if lat[i] < 0lat[1] + lat2[i] / 60그렇지 않으면 할당을 내부에 넣을 필요가없는 벡터를 반환합니다 .

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관