백엔드 프레임워크 & 언어/R

천단위 쉼표 숫자처리

anodos 2022. 3. 10. 12:01

bb = as.numeric("1,234")
Warning message:
NAs introduced by coercion 
> class(bb)
[1] "numeric"

as.numeric은 따옴표를 뗀 후 숫자만 남아야 한다. 따라서 gsb를 통해 문자열 대체, 정규표현식을 통한 문자열 처리를 해주고 처리하여야 한다.

as.numeric(gsub(pattern = ",", replacement = "","1,234"))
as.numeric(gsub(pattern = "[^0-9]", replacement = "", "1,234"))

그런데, 다만 정규표현식  replace를 통해 대체하여 숫자외 문자열을 제외하였으나 다음과 같이 소수점이 포함된 경우는 

as.numeric(gsub(pattern = "[^0-9]", replacement = "","1,234.5"))

12345 로 출력되게 되므로 정규표현식에 '.'을 제외하는것에 주의하여야 한다.

as.numeric(gsub(pattern = "[^0-9.]", replacement = "","1,234.5"))

1234.5

 

 

 

 

 

 

 

반응형