R$ R에서 구분기호나 통화기호 없애기
by Youngjun Na
R에서 구분기호나 통화기호 없애기
가끔 천단위 구분기호나 통화기호(원, $, USD)가 데이터 내에 포함되어 있는 경우가 있습니다. 그리고 이런경우 R은 이를 여지없이 character
형으로 인식을 하게 됩니다.
library(tibble)
example <- tribble(
~name, ~debt, ~year,
"철수", "1,000원", "2019년",
"영희", "2,000냥", "2018년",
"개똥이", "엄청 오래전 3,000원 나한테 빚짐", "1990년"
)
example
## # A tibble: 3 x 3
## name debt year
## <chr> <chr> <chr>
## 1 철수 1,000원 2019년
## 2 영희 2,000냥 2018년
## 3 개똥이 엄청 오래전 3,000원 나한테 빚짐 1990년
str(example)
## Classes 'tbl_df', 'tbl' and 'data.frame': 3 obs. of 3 variables:
## $ name: chr "철수" "영희" "개똥이"
## $ debt: chr "1,000원" "2,000냥" "엄청 오래전 3,000원 나한테 빚짐"
## $ year: chr "2019년" "2018년" "1990년"
readr
패키지의 parse_number()
함수를 이용해 문자형을 수치형으로
readr
패키지에는 parse_*
함수들이 있는데, 그중 parse_number()
함수를 이용하면 숫자 앞뒤의 비수치 문자를 무시하고, 위와같은 데이터들을 손쉽게 수치형으로 바꿀 수 있습니다.
library(readr)
example$debt <- readr::parse_number(example$debt)
example$year <- readr::parse_number(example$year)
example
## # A tibble: 3 x 3
## name debt year
## <chr> <dbl> <dbl>
## 1 철수 1000 2019
## 2 영희 2000 2018
## 3 개똥이 3000 1990
sum(example$debt)
## [1] 6000
Subscribe via RSS