R
R | 숫자 천단위 마다 콤마 찍기 (formattable)
Chloe A_Choe
2020. 3. 25. 14:30
자릿수가 큰 데이터를 출력할때 천단위로 콤마가 찍히도록 설정이 필요할 때가 있습니다. 세자리로 숫자를 나누고 그 사이에 콤마를 넣어주어도 되겠지만 R에는 이를 간편하게 할 수 있는 formattable 패키지가 있습니다.
# install.packages('formattable')
> library(formattable)
우선 formattable 패키지를 설치하고 라이브러리로 불러옵니다.
> c(1250000, 225000, 123.456, 123.444)
[1] 1250000.000 225000.000 123.456 123.444
벡터 형태의 숫자는 숫자 그래로 출력이 됩니다.
> comma(c(1250000, 225000, 123.456, 123.444))
[1] 1,250,000.00 225,000.00 123.46 123.44
여기서 comma함수를 사용하면 소수점 3째 자리에서 반올림되어서 2째 자리 까지 표기가 되고, 3자리마다 콤마로 구분이 지어집니다.
> comma(c(1250000, 225000, 123.456, 123.444), format = "d")
[1] 1,250,000 225,000 123 123
comma 함수에 format='d'를 입력해주면, 소숫점은 버리고 3자리마다 콤마로 구분이 지어집니다.
# 적용 예시
> random_sample <- sample(1:100000000, 10, replace=TRUE)
> random_sample
[1] 50674794 33229138 53371089 31436937 72345652
[6] 79233995 33404128 65875047 25392098 8607295
> myData <- data.frame(col_0=random_sample,
+ col_1=comma(random_sample),
+ col_2=comma(random_sample, format = 'd')
+ )
> myData
col_0 col_1 col_2
1 50674794 50,674,794.00 50,674,794
2 33229138 33,229,138.00 33,229,138
3 53371089 53,371,089.00 53,371,089
4 31436937 31,436,937.00 31,436,937
5 72345652 72,345,652.00 72,345,652
6 79233995 79,233,995.00 79,233,995
7 33404128 33,404,128.00 33,404,128
8 65875047 65,875,047.00 65,875,047
9 25392098 25,392,098.00 25,392,098
10 8607295 8,607,295.00 8,607,295