본문 바로가기

COMPUTING/BIG DATA

혼공 R 데이터 분석 4주차 공부 인증 + 썰

여러 가지

안녕하세요? 재용입니다. 저번 주차엔 시간이 촉박하게 마무리해서 별로 기분이 썩 좋진 않았었죠. 그래서 이번 주는 빠르게 4주 차 공부를 해버리고 제가 하고 싶었던 다른 일들을 하려고 합니다. 예를 들어 독서나 제 전공 예습 같은? 지금 아니면 하기 힘든 것들을 많이 해둘 생각입니다. '유비무환'이니까요 :)

 

어제는 제 고등학교 친구들을 만나고 왔습니다. 덩치가 꽤 나가는 혈기 왕성한 친구들이라 소고기집에서 만나서 엄청 먹었네요. 다들 얼굴이 전과 다를 바가 없이 그대로였습니다. 달라진 거라면 군대 다녀온 친구들은 살이 좀 쪘다는 거? ㅋㅋ 의외로 군대를 다녀오면 몸이 좋아진다고들 하는데, 제 주변에는 그 반대 사례들이 많은 것 같습니다. 국방부에서 코호트 조사하면 꽤 괜찮은 연구 주제가 될 수 있지 않을까요? ㅎㅎ

이런 제 친구들이지만, 졸업하고 거진 3~4년은 지났다는 게 재미난 포인트죠. 저는 20년도 2월에 고등학교를 졸업하고 바로 재수학원에 들어갔기에 친구들과 강제 이별했죠. 친구들도 상황은 비슷했습니다. 코로나19가 터지고, 대학생활은 온전히 하지 못한 채 그렇게 군입대한 경우가 많았습니다. 그래서 체감상 졸업하고 다들 1~2년 만에 만난 기분이라고들 하더라고요. 일상을 잃는다는 건 정말 슬픈 일인 것 같습니다. 모두의 기억 속의 20년과 21년은 그렇게 어둡게 사라졌을 테니까요.

 

그저께도 가족과 소고기 먹으러 갔지만? 언제나 고기는 옳습니다 ㅎㅎ(7/24 저녁)

 

그렇기에 지금의 삶은 매우 특별합니다. 이렇게 친구들도 편하게 만날 수 있고, 저번 주에 해외여행 같던 것처럼 맘만 먹으면 어디든 갈 수 있으니까요. 또 이렇게 데이터 분석 공부처럼 원하는 공부도 맘껏 할 수 있기도 하죠. 저의 파란만장한 20대의 청춘기에 이것저것을 알록달록 그려 넣기 위해 부지런히 도전하고 움직여야겠습니다. 그럼 이번 주도 시작해 보죠!

 

 

CHAPTER 4 데이터 다루기 

이번 챕터에서는 데이터를 어떻게 준비할 것인지에 대해 배웁니다. 그 왜 있잖아요. 2주 차 때 배운 '데이터 분석 과정 5단계'에서 두 번째 단계에 해당하는 '데이터 준비'. 이번 챕터는 이 단계에 해당하는 내용을 딱 초심자 수준에서 알려줍니다. 초심자라고 한 이유는 아주아주 기본적이고 필수적인 것들만 책에 수록되어 있기 때문입니다. 그래서 제가 들은 통계학 수업 내용과 버무려서 포스팅하면 더 질이 괜찮을 것 같네요!

 

첫 장에서는 데이터 자체를 R환경에 로드하는 것을 배웁니다. 이것은 전 챕터에서 배운 '직접 입력해 데이터 준비'하는 것보다는, 다른 형태의 데이터를 데이터프레임 형태로 가져오는 법이라고 보면 좋겠습니다. 우리가 자주 쓰는 메모장의 파일형식인 TXT, CSV부터 엑셀, XML, JSON까지 다양한 파일 형식을 활용할 수 있습니다. 이때 가장 많이 쓰는 파일은 아무래도 엑셀이겠죠. 여전히 실무에서 강력하게 쓰이는 프로그램이고, 통계청에서도 이 파일 형식으로 제시해 주니까요.

이 파트 공부하면서 흥미롭게 보았던 부분은 가져올 때에 자신의 의도에 맞게 불러올 수 있다는 점입니다. sep=' '을 넣음으로써, 원하는 '틀'에 각 데이터들을 넣을 수 있게 됩니다. 제가 컴활 공부했을 때에도 비슷한 유형이 있었던 것 같아요. txt파일을 엑셀 파일로 불러올 때, 비슷한 방식으로 틀을 만드는 게 그것이죠. 익숙한 모양새를 보니, 확실히 데이터 다루는 디지털화된 스키마는 비슷비슷한 것 같네요.

두 번째 장에서는 불러온 데이터 세트를 확인하는 법을 배웁니다. 데이터 세트 전체를 불러오는 방법이 있고, 요약된 데이터 세트의 값들을 확인하는 법도 있습니다. 특히 후자의 것은 '기술통계량'이라는 말로 유명하죠. 수학자와 통계학자들이 고안한 여러 가지 통계값들을 어떻게 산출하는지를 배웁니다. 다행인 것은 R이 알아서 다 계산해 주기 때문에 따분한 계산식을 배울 필요는 없다는 점이죠. 평균, 중앙값, 최대최소, 분산 등 정말 필요한 값들만 배우니 되게 가볍다는 인상마저 받은 것 같습니다.

마지막 장은 이런 데이터를 그래프로 이미지화하는 법을 배웁니다. 줄기잎 그래프를 제외하고는 모두 아는 그래프라 쉬웠습니다. 줄기잎 그래프도 솔직히 초등학교 고학년 때 배운 기억이 있어서 그리 어렵지는 않았죠. 이런 그래프들을 R언어는 웬만해선 한 문장의 코드로 뽑아낼 수 있습니다. 이런 게 R언어가 통계처리 전문 언어로서 여전히 사용될 수 있는 이유겠죠. 가장 재미있는 파트였습니다.

 

4-1

딱히 불러온 자료가 없음. 생략!

4-2

결국 cloud 환경에서 학습을 진행! 전에 머신러닝 배울 때 썼던 구글 코랩이 생각난다..

data()함수 사용하기
str()함수로 데이터 구조 확인하기. 기본미션 내용이기도 하다!
데이터 세트의 개수를 확인하는 함수들
ls(),head(),tail()함수 사용하기
기술통계량 값 함수들 사용하기
첨도와 왜도 측정 함수 사용하기. 절대 패키지 로드하는 것을 잊지마라!
freq()함수로 빈도와 그래프 모두 출력해보기
산포도를 나타내는 통계량 중 하나인 변동계수. 여기서는 iris$Petal.Length가 더 퍼져있음을 알 수 있다.
4-2 예제. rcol하나 제대로 못써서 오류가 두번이나 났다.

4-3

상자 그림은 볼 때 마다 익숙하지가 않다. 색깔을 부여하니 더 비교가 잘되는 기분이다.
히스토그램 그리기
파이차트 그리기(여기선 세 부분이 모두 빈도가 같은듯). 그리고 깨알같은 줄기잎 그래프도.
산포도 그리기. 이정도면 결정계수가 0.9가까이 되겠다.
산점도 행렬. 압도되는 그림이긴 하다.

기본미션 - p.169의 iris 내장 데이터 세트의 데이터 구조 출력하고 인증하기

위의 사진 참고!

 

선택미션 - p.191 상자 그림 그래프의 각 요약 값 정리하기

제가 올린 사진 중에 대표 사진으로 된 빨간, 파란 상자 그림그래프를 보면 됩니다. 각 상자마다 가로선이 길고 짧게 5가지로 난 것을 볼 수 있습니다. 처음과 끝의 두 선은 데이터값 중 최솟값과 최댓값을 나타낸 것으로 볼 수 있고, 중간의 세 선은 4분 위수에 해당하는 값입니다. 그래서, 중앙에 가장 두꺼운 선은 중앙값을 나타내는 제2사분위수로 보면 되겠습니다. 추가로 최소최대 범위를 넘어가는 값들은 '이상치'로서 원으로 표시합니다.

 

필기자료

4주차 정리.pdf
2.81MB

 

마무리 및 소감

무슨 일을 할 때 늘 준비하고 계획하는 건 중요한 것 같습니다. 그 일이 복잡하고 중요할수록 더욱더 이런 과정은 가치가 있어지지요. 데이터 분석도 마찬가지일 겁니다. 하나의 주제를 확실하게 탐색하기 위해서는, 통계 모델을 적절히 설계하고 원하는 데이터를 준비시키는 과정이 필요하죠. 이번 챕터는 이에 대해 배울 수 있었기 때문에 실전감도 있고, 흥미로웠던 학습이었던 것 같습니다.

또한, 다양한 그래프를 그려내고 DIY 하듯이 커스텀하는 게 재미있었습니다. 옵션을 조금 건드려주면 자신이 원하는 대로 그래프를 뚝딱 만들어낼 수 있으니까요. 그리고, 각 그래프 간에도 호환되는 옵션들이 많아서 공부하기에도 수월했습니다. 확실히 R은 그래프를 사용해야 하는 연구에서 빛을 발할 수 있을 듯합니다.

 

+ 은서썰

은서는 제 대학교 동기입니다. 엉뚱하면서도 발랄한 모습이 참 매력적입니다. 저보다 한 살 어리지만, 저보다 훨씬 다재다능하다고 느낄 때가 많습니다. 저번 관현악단 공연에서 퍼스트 바이올린으로 참여해 멋진 연주도 보여주었고,  스터디할 때는 먼저 나서서 자료를 준비하고 제공해주기도 했죠. 여러모로 대단하다고 여기고 있는 동기 중 한 명인데, 이렇게 족장님 덕분에 10기에 참가한다는 걸 알게 되었네요. ㅋㅋ 덕분에 도쿄 여행 중에 연락하고 괜스레 기분이 좋았습니다. 다음에도 혼공학습단에 같이 참여하면 좋겠네요~

내가 아는 그 은서인가..? 했던 족장님의 놀라운 눈썰미. 이걸 이렇게 만나게 되네.

 

사진을 너무 많이 쓴 감이 없지 않은데.. 많을수록 좋은 건 당연하겠지요~? 캡처한 사진을 처리하는 게 귀찮긴 하지만.. 질 좋은 포스팅을 위해 아낌없이 제 노동력을 부어보겠습니다..!

그럼 다음다음 주에 한 주 쉬고 5주 차로 다시 뵙겠습니다. 안녕~

 

출처

혼자 공부하는 R데이터분석 p.146~p.203