COMPUTING/BIG DATA

혼공 R 데이터 분석 6주차 공부 인증 + 여름방학 회고

Zeromm 2023. 8. 20. 23:05

여러 가지

안녕하세요. 재용입니다.

이제 8월도 벌써 중순을 지나가고 있네요. 수도권은 이제 더위가 한풀 꺾인 듯싶은데, 여전히 지방은 덥습니다.

더운 지 어떻게 아냐고요? 제가 이번 주 평일에는 줄곧 학교에 있었거든요. 학교에서 선배님들과 즐거운 학습의 장(?)을 펼쳤습니다. 하하...

사실은 너무 힘들었어요. 3일 동안 선배님들께서 압축한 다음 학기 전공내용들의 모든 부분들을 공부하다고 원치 않는 시험을 마지막 날 봐야 했거든요. 정말 뇌가 익는 느낌이었습니다. 제 한계에 여러 번 갔다 온 기분이었어요. 시간도 없고, 양은 더럽게 많은데 이런 극한의 상황을 아주 오랜만에 만난 기분이었습니다. (이렇게 암기를 했다면 진작에 서울대를 갔을 텐데 ㅠㅠ)

그래서 집에 오려고 한 금요일부터 한 주를 마무리하는 지금 일요일 저녁은 기분이 남다릅니다. 이제 한가로이 티스토리에 글을 쓰거나, 하고 싶었던 취미나 게임, 여행 모두 조심스러워졌어요. 이미 머리는 암기로 한껏 긴장한 상태인데,  이걸 하는 건 약간 죄스럽다고 해야 할까요?  학교에서는 계속 영상들을 쏟아내니 벌써 개강한 느낌인데, 그동안의 여유로운 생활을 반복하는 건 이젠 안된다고 느꼈어요.

그래서, 다음 주부터 개강 전까지는 아주 열심히 공부할 다짐으로 살려고 합니다. 이번에 작성하는 이 마지막 혼공 인증글이 사실상 제가 부릴 수 있는 마지막 사치가 되겠네요.

 

그럼 한번 시작해 보죠!

 

CHAPTER 6 데이터 시각화 : ggplot2 패키지

이번 챕터에서는 ggplot2 패키지를 활용해 직접 데이터를 visualization 하고 analysis 하는 법을 배웁니다. 그리고 마지막 3번째 소단원에서 구글 맵을 간단히 활용해 용도에 맞게 띄우는 법을 배웁니다.

첫 번째 소단원에서는 ggplot2 package가 가진 놀라운 graph tools를 배웁니다. 저는 이 package가 graph를 그리는 방법이 꽤 직관적이라 와닿았어요. 먼저 축을 만들고, 데이터를 올리고, 선이나 막대나 여러 graph option을 통해 만들어가는 과정이 '쌓아 올린다'는 인상을 주었어요. 마치 사람의 몸과 같다고 해야 할까요? 뼈대를 세우고, 그 위에 신경과 근육, 혈관을 얹고 외관을 잘 이해할 수 있게끔 피부와 털로 감싸는 것이죠. 의도했든 안 했든, 컴퓨터 과학에서 사용하는 여러 model들은 인체의 process를 차용하는 듯 보입니다. 마치 인공지능이 뉴런의 메커니즘을 본 딴 것처럼요.

두 번째 소단원에서는 그래프 위에 사용자가 데이터 분석에 도움을 받을만한 객체들을 올리는 법을 배웁니다. 수직선과 수평선은 기본이고, 회귀 분석까지 R언어가 처리해서 회귀 함수를 제시해주기까지 합니다. 필요하면 각 데이터들의 레이블도 올릴 수 있고요, 유의미한 데이터들에는 색깔 화살표나 박스로 marking 할 수도 있습니다.

마지막 소단원에서는 ggmap package를 이용해 google map을 불러와 이전 두 소단원에 배운 것을 연결하는 법을 배웁니다. google 것을 쓴다고 해서 겁먹을 필요는 없었을 정도로 간단한 것들만 하고 끝나더군요. 제가 구글 맵에 로그인하고 계정 만들고 뭔가 막혀서 허튼짓 했던 수고에 비하면 조금 맥 빠지는 일이긴 했습니다. 그렇지만 이런 식으로 데이터를 사용할 수 있다면, 많은 application들이 이를 이용해 사용자들에게 편리한 위치 서비스를 제공할 수 있는 건은 전혀 어려운 일이 아닌 듯싶었습니다. 응용 측면에서 재미난 소단원이었습니다.

 

6-1

geom_bar()안에 aes함수를 넣어 누적 막대 그래프 그리기
coord_polar()함수를 사용해 선버스트 차트 그리기
geom_boxplot()함수를 사용해 박스 그림그리기
geom_histogram()함수를 사용해 히스토그램 그리기
6-1 예제. 나도 diamond갖고 싶다...

6-2

최솟점의 위치를 할당받아 그 자리에 geom_vline()함수로 수직선 긋기
geom_text() 함수로 레이블 표시하기
annotate()함수를 사용해 도형과 화살표 넣기
6-2 예제. 회귀분석의 순서를 잘 보고 돌릴 것을 추천.

 

6-3

정말 지도가 나와서 놀랐던 순간
위도 37.49와 경도 127.02는 강남역이었나보네
예제 6-3 4번 부산이 나온다

기본미션 - p.288의 <좀 더 알아보기> 실습하고 결과 화면 캡처하기

나는 파란색으로 바꿔봤다

선택미션 - 구글 API와 ggmap package를 활용해 원하는 장소의 지도를 불러와 결과 화면 인증하기

나의 고향 인천... 이젠 안녕

필기자료

제가 매우 바쁜 삶을 살았던 관계로... 필기자료는 없습니다...

다음에 시간이 있다면 나머지 7~8단원 공부하면서 함께 정리해 두어, 데이터 분석 관련 과제를 수행할 때 도움받을 수 있게 할 생각입니다. 

 

마무리 및 소감

실생활에 적용할 수 있는 예시로 실습할 수 있었던 시간이라 도움이 많이 되었던 것 같습니다. 구글 맵을 실제로도 많이 쓰는데, R언어를 사용한다면 제가 원하는 방향으로 지도를 보고 제시할 수 있다는 게 재미난 포인트였던 것 같습니다. 그래프를 만드는 조금 다양한 툴을 배우긴 했지만, 이 정도는 매우 일부라고 생각하고 있기 때문에, R언어는 앞으로도 자신감을 갖고 계속 배워갈 수 있는 시간을 가지면 좋을 것 같다고 느꼈네요. 이번 주차는 저번 주차보다 확실히 할만했던 시간이었습니다. 

 

사실, 요즘 제 생활에 대해 할 얘기가 너무 많습니다. 5주 차 글을 올리고 나서도, 많은 시간을 다양한 활동을 하면서 보냈었어요. 예를 들어, 저는 은서를 포함한 동기들과 얼마 전 있었던 의료인공지능 강연에 참석도 했었고, 혼자서 길을 헤매면서 당일치기 여행도 해봤습니다. 그리고 자의든 타의든 굉장했던 암기의 바다에 빠져 살아보기도 했었고, 최근 개봉한 영화들도 어찌어찌 다 봤습니다. 특히 인공지능에 대해선 chatGPT로 할 말이 아주 많은데, 아쉽지만 마음속으로 묵혀야겠네요.

이번 혼공 학습단 활동도 완벽하다고 생각하진 않지만, 그래도 제 딴에는 만족스러운 시간을 보냈던 것 같습니다. 학교 수업에서는 배우지 못했던 것들을 이렇게 혼공으로 혼자 터득해 나가니 아주 즐거웠습니다. 내용도 어렵지 않고 양도 많이 않아서 더욱 좋았기도 했고요. 적어도, 9월을 이제 10일만 남겨둔 입장에서 볼 때, 이번 여름 방학에는 정말 대단한 경험들을 한 것 같습니다. 그래서 후회스럽지 않습니다. 다음 학기의 엄청난 전공 공부량이 두렵긴 한데, 그래도 당당하게 학기에 들어갈 수 있을 것 같습니다.

 

왜 갑자기 이렇게 자기 고백적인 글을 쓰는 걸까요? 음. 죽음을 앞둔 사람이 유언하는 것과 비슷한 맥락이지 않을까요? ㅋㅋ 그래도 어떻게든 잘 살아서 다음 방학에도 혼공학습단에 참여할 수 있게 해 보겠습니다. 그럼 안녕!

 

출처

혼자 공부하는 R데이터분석 p.276~p.321