R언어 VS 엑셀 VS SQL
R언어, 엑셀, SQL 중 어떤 것을 사용하는 것이 자료 분석에 유리할까? 장단점, 목적 정리.
R을 처음 접했을 때, SQL로도 데이터 분석에 충분하지 않을까 생각했지만, 기능을 배울수록 왜 R을 쓰는지에 대해 이해가 되었다.
흔히 엑셀과 SQL, R언어를 비교할 때 엑셀=전자레인지,SQL=가스레인지,R=주방으로 비유된다.
이것이 무슨 의미인지 각 툴의 장단점과 적합한 사용 목적을 정리해본다.
R언어 VS 엑셀
비교
항목 | R언어 | 엑셀 | 비고 |
---|---|---|---|
접근성 | 비교적 어려움 | 쉬움 | |
함수사용 난이도 | 비교적 어려움 | 쉬움 | |
함수사용 유동성 | 유동적 | 제한적 | R은 추가 패키지를 통해 다양한 함수 제공. 여러 함수를 조합해 쓰기 좋음 |
분석 가능 데이터 볼륨 | 무한대(하드웨어에 따라 다름) | 1,048,576행 | |
분석/조작 퍼포먼스 | 매우 우수 | 빈약 | |
반복 작업 | 매우 우수 | 빈약 | R은 스크립트 기반이어서 재사용성 우수 |
데이터 확인 방법 | 조금 불편 | 우수 | 엑셀은 수정이나, 함수 사용 시 즉각 표시 |
데이터 챠트 표현 | 매우 우수 | 한정 | R언어는 확장패키지로 많은 종류의 차트 이용 가능 |
결론
- R이 전반적으로 우수.
- 인사이트을 얻기 위한 데이터 가공 및 분석에는 R이 적합하다.
- 처음 스크립트 짜는 것이 번거롭지만, 작성한 스크립트를 지속해서 여러 자료에 사용하기에는 R이 적합하다.
- 적은 자료나 가볍게 가공할 자료 분석에는 엑셀이 편리할 수 있다. 인스턴트라면에 비유하기도 한다. 반대로 대용량 자료 분석에는 R이 절대적으로 유리하다.
- R은 추가 패키지를 쉽게 다운로드받아 사용할 수 있어 활용도가 무궁무진하다. 자신만의 많은 패키지를 이용하는 노하우가 본인의 경쟁력이라는 말도 있다. 2018년 기준으로 11000개 이상의 패키지가 존재한다.
R언어 VS SQL
비교
항목 | R언어 | SQL | 비고 |
---|---|---|---|
접근성 | 비교적 어려움 | 어려움 | |
함수사용 난이도 | 어려움 | 어려움 | |
분석 가능 데이터 볼륨 | 무한대(하드웨어에 따라 다름) | 무한대(하드웨어에 따라 다름) | |
분석/조작 퍼포먼스 | 우수 | 비교적 빈약 | R은 행열 피벗/변환을 쉽게 할 수 있다. |
반복 작업 | 우수 | 우수 | 둘다 스크립트 파일 기반 |
데이터 챠트 표현 | 매우 우수 | X |
결론
- 둘다 스크립트 기반 언어여서 비슷한 점이 많다.
- 그러나 R언어의 경우 피벗이나, 행추가, GATHER/SPREAD 등 함수를 통해 행/열 가공이 매우 간편하다. 행/열 가공이 쉽다는 것은 그만큼 데이터 가공을 통해 인사이트를 발견할 기회를 많이 준다는 의미이다. SQL에서 행/열 조작을 하려면 테이블을 다시 생성하던가 스크립트로 조작을 해야하는데 매우 번거롭다.
- 하지만 SQL은 데이터를 I/O하고 저장하는 용도이고, R은 분석하기위한 용도이다.
- 자료를 통해 인사이트를 얻고 싶다면 R언어가 적합하고, 단순한 행/열 데이터 추출 및 1차원적인 분석에는 SQL이 적합하다.