우리 나라에서 사용하는 연비란 에너지관리공단 수송에너지 > 자동차공인연비 > 공인연비에 따르면 연료 1ℓ로 주행 가능한 거리(km)를 말하는 것을 말합니다. 그러나 미국은 연료 1갤런(gallon)으로 주행 가능한 거리를 마일(mile)로 계산하여 연비를 계산합니다. 미국이랑 우리나라가 단위가 다르니 생기는 문제입니다. 참고로 1갤런은 3.785411784리터(참고: 갤런 – 위키백과, 우리 모두의 백과사전) 이고 1 마일은 1.609344 킬로미터(참고: 마일 – 위키백과, 우리 모두의 백과사전) 입니다.
뭐 사전 지식은 다 알았으니, 실제로 연비를 바꿔보겠습니다. 미국 연비를 10부터 40까지 만들보겠습니다.
mpg < - seq(10,40)
mpg
을 입력해 확인해보시면, 10부터 40까지 값이 들어있는 것을 보일 수 있습니다. 이것을 미국 연비라고 해봅시다. 이때 이것을 한국 연비로 바꿔 계산해봅시다. 위에서 살펴본 것을 토대로 변환식을 짜면 다음과 같습니다.
kmL <- (mpg * 1.609344)/3.785411784
kmL
을 입력해 확인해보시면, mpg
에 들어있던 것을 한국 연비로 바꾼 값을 확인할 수 있습니다. 미국 자동차 연비마일 MPG -> km/L 보는법의 포스트와 비교해 보면, 지금까지 계산한 값이 더 정확하고 자세한 것처럼 보입니다. ^^; 위의 것은 너무 단순해서 조금은 멋지게 패키지를 사용해서 바꿔보도록 하겠습니다. 아래 코드는 지금까지 한 것을 다 넣고 패키지를 설치해서 계산하고 위에서 계산한 것과 패키지를 이용해서 계산한 것을 비교해봤습니다.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
mpg <- seq(10,40) | |
kmL <- (mpg * 1.609344)/3.785411784 ## 단순하게 바꾸기 | |
install.packages("datamart") ## 패키지 설치 | |
library(datamart) ## 패키지 설치 | |
uconv(1, "US gal", "l", uset="Volume") ## 1 캘런을 리터로 | |
uconv(1, "mile", "km", uset="Length") ## 1 마일을 킬로미터로 | |
kmL.uconv <- uconv(mpg, "mile", "km", uset="Length")/uconv(1, "US gal", "l", uset="Volume") ## uconv()을 이용하여 바꾸기 | |
kmL == kmL.uconv ## 두 계산 결과 확인 |
맨 마지막 줄에 있는 kmL == kmL.uconv
명령을 입력하면 그 결과가 모두 TRUE로 나오는 것을 보니 두 계산 결과가 같은 것임을 확인할 수 있습니다.