직장에서 가끔 사용하는 R 기능

엑셀파일(xlsx)을 CSV형식으로 변환하기 전 주의사항

하트 뿅뿅 2020. 11. 4. 00:04
반응형

안녕하세요 슬기로운 직장생활 블로그 운영자입니다^^

 

 


R로 대용량 파일을 불러오기 위해서 data.table의 fread함수를 사용했습니다.

 

2020/09/30 - [직장에서 가끔 사용하는 R 기능] - 100만행 넘는 데이터 R에서 손쉽게 다루기(Excel은 못해요)#0

 

100만행 넘는 데이터 R에서 손쉽게 다루기(Excel은 못해요)#0

엑셀(EXCEL)은 매우 훌륭한 비즈니스 도구입니다. 가시적이고 마우스로 탐색이 손쉬우며 함수를 적용하면 바로 결과를 볼 수 있습니다.  그리고 훌륭한 차트 기능을 제공하며, 자료 요약 기능 특

wise-working.tistory.com

그런데 엑셀로 피벗을 그린 결과와 이 결과가 다르게 나오는 경우가 생겼습니다.

그 원인을 찾아본 결과를 토대로 엑셀파일을 csv형식으로 변환하기 전 주의사항을 알려드립니다.

 

  1. xlsx 파일의 숫자형식의 칼럼은 표시 형식을 숫자로 지정하고 소수점을 10개까지 늘여서 표시하기
  2. 숫자 컬럼의 표시 형식을 컨트럴+1을 통해서 창을 들어간 후 마이너스가 괄호로 표기되지 않도록 조정
  3. 만약 다수의 셀 값이 소수점 10개를 넘어선다면 csv로 변환하는 것을 중단
  4. 표시 형식이 통화나 회계형식으로 되어 있다면 csv로 변환하여 fread로 읽을 경우 그 열이 text로 인식되는 경우가 있음

먼저 1,3 번은 csv가 소수점을 10개까지 저장한다고 합니다. 그래서 이런 조치를 하고 나서 변환을 하면 오류가 적게 되는 걸 발견했습니다.

그리고 2,4 번은 엑셀의 표시형식의 문제인데요. 0이 - 로 보이거나, -40 이 (40)과 같이 괄호로 표시된다면 숫자를 텍스트로 읽어 버리는 경우가 있습니다. 물론 이렇게 되면 분석이나 정리를 한 결과에도 오류가 생깁니다.

 

위의 과정을 통해 다른이름으로 저장하기를 누르고 csv를 저장했다고 하더라도 그 csv를 r로 읽을 때 오류가 발생하기도 합니다. 그래서 읽고 나서 각 값의 형식이 숫자가 숫자로 맞게 들어갔는지, -나 괄호가 들어있지는 않은지 확인을 하고 진행하는 것이 안전합니다.

 

엑셀의 틀에서 벗어나 R로 데이터를 불러와서 저장만 깔끔하게 한다면 대부분의 문제는 해결이 됩니다.

그래픽, 통계분석, 모형적합, 모형의 적합도 판별 모든 것은 쉽습니다.

 

데이터를 제대로 불러오는게 어렵죠.

오늘은 데이터를 불러오는 과정에서 생길 수 있는 착오와, 그 착오를 예방하는 방법을 소개해드렸습니다.

 

감사합니다.

 

 

반응형