나는 북쪽 (양수)과 음의 위도 열과 데이터 프레임에 별도의 분 열의 혼합 데이터 세트를 가지고 있습니다. 나는 이것을 십진수로 변환하기 위해 간단한 위도 + (분 / 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을 빼야합니다.
여기서 ifelse를 사용하는 올바른 구문은 다음과 같습니다.
lat <- ifelse(lat1 < 0, lat1 - lat2 / 60, lat1 + lat2 / 60)
ifelse
구성 요소 i = lat1[i] - lat2[i] / 60
if lat[i] < 0
및 lat[1] + lat2[i] / 60
그렇지 않으면 할당을 내부에 넣을 필요가없는 벡터를 반환합니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다