본문 바로가기

KUSITMS 활동/세션 일지

[큐시즘 20기 5차 세션] 빅데이터 시각화 및 아두이노 실습

5차세션 : R을 활용한 빅데이터 실습과 아두이노를 활용한 IoT 실습

 

안녕하세요! 큐시즘 대외홍보팀 이지원입니다. 

이번 5차 교육은 배소연 교육자와 양용준 교육자의 빅데이터 세션과 

김민지 교육자의 IoT 실습으로 진행되었습니다. 

 


강의 순서는 다음과 같습니다!

  • R을 활용한 빅데이터 실습
  • 아두이노를 활용한 IoT 실습

 

이번 세션에서는 교육팀이 따온 아두이노를 활용하여

직접 실습을 해볼 수 있어 정말 재밌는 시간이었습니다.

 

항상 큐밀리를 위해 노력하는 교육팀에 다시 한 번 감사합니다! (짝짝)


세션에 집중하는 큐밀리의 모습들

 

오늘은 지금까지 세션을 통해 공부한 지식들을

테스트해보는 시간이 되었을 수도 있겠습니다.

 

특히나 내손으로 직접 시각화를 해보고

아두이노 키트를 조립해보는 것이 뜻 깊었는데요.

 

큐시즘에서만 가능한 특별한 세션들!

세션일지를 통해 한 번씩 더 복습해보도록 해요.

 


 

배소연, 양용준 교육자의 R을 활용한 빅데이터 실습

 

데이터 시각화

 

방대한 양의 데이터는 우리에게 유의미한 인사이트를 제공하기 위해

아래와 같이 여러 형태로 보기 좋게 가공될 수 있습니다. 

 

이 과정을 데이터 시각화라고 하며

여러 툴을 이용하여 여러 방법으로 나타낼 수 있는데요,

아래의 네 가지 예시와 같이 데이터에 따라 그 종류가 다양하답니다!

각각 버블차트, 네트워크 그래프, 맵 그래프, 3D 그래프

 

하지만 위와 같은 예쁜 그래프를 그리기 위해서는 우선 기본을 알고 있어야 겠지요.

아래의 네 그래프들은 모두 ggplot2이라는 패키지로 쉽게 그릴 수 있답니다.

 

 


 

패키지 (packages)

 

여기서 잠깐! 

R에서 활용되는 패키지의 개념에 대해 짚고 넘어가 봅시다.

패키지란 여러 개의 함수들이 들어있는 꾸러라고 생각하면 됩니다. 

 

R의 기본적인 기능들에서 좀 더 확장된 기능을 활용하고 싶을 때

이를 불러와 활용할 수 있겠지요.

 


 

dplyr 패키지

 

 

데이터 전처리 작업에 가장 많이 사용되는 dplyr 패키지입니다.

dplyr 패키지는 %>% 기호를 이용해 함수들을 나열하는 방식으로 코드를 작성합니다.

이를 통해 함수를 따로 지정해주지 않고도 직관적으로 코드를 짤 수 있겠지요.

 


 

데이터 시각화 실습 (feat. 큐밀리)

 

1. 나이가 가장 많은 큐밀리 찾기

 

신나는 실습!

큐밀리들의 사용 가능한 데이터들을 활용하여 

큐밀리 나이의 분포를 그래프로 시각화해보았습니다.

 

다시 한 번 따라해보고 싶은 큐밀리들을 위해 

주석을 첨가한 코드블럭을 아래에 첨부해두었으니,

참고해주세요.

 

 

install.packages("dplyr")
library(dplyr)

#연장자 큐밀리 찾기
age <- kusitms %>% 
	select(이름, 나이) %>% #이름, 나이 열만 선택
    arrange(desc(나이)) #나이 기준 내림차순 정렬
head(age) #맨 위 6개만 출력

install.packages("ggplot2") #그래프를 그릴 때 필요한 패키지
library(ggplot2)

#큐밀리들 나이 막대 그래프로 표현하기
age_count <- age %>% 
	group_by(나이) %>% #나이로 그룹화
    summarise(count = n()) #통계치 산출
    
age_count

ggplot(data = age_count, aes(x = 나이, y = count)) + geom_col()
#데이터와 축, 그래프 종류 지정

#나이 그래프를 성별에 따라 다른 색으로 그리기
age_sex_count <- kusitms %>%
	group_by(나이, 성별) %>%
    summarise(count = n())

age_sex_count

ggplot(data = age_sex_count, aes(x = 나이, y = count, fill = 성별)) + geom_col() 
#aes는 aesthetic의 약자, 미적 요소를 첨가해주는 함수이다. 

 


 

결과 그래프

 

큐밀리들의 나이와 성별에 따른 그래프

 


 

2. 큐밀리 성 Top 10

 

 

#큐밀리 이름에서 성만 추출
lastname <- kusitms %>%
	mutate(성 = substr(이름, 1, 1)) %>% #시작위치1, 끝위치 1만큼 문자열에서 추출
    select(이름, 성)
    
lastname 

lastname_count <- lastname %>%
	group_by(성) %>% #성이 같은 사람끼리 그룹화
    summarise(count = n()) %>% #범주의 개수를 세어준다 
    arrange(desc(count)) %>% #내림차순 정렬
    head(10) #맨 위 10개의 값만 출력
    
lastname_count

#원형 그래프로 표현하기
install.packages("RColorBrewer") #다양한 색에 대한 팔레트를 제공하는 패키지
library(RColorBrewer)

palete <- brewer.pal(10, "Set3") #Set3 팔레트에서 10개의 색 선택

pie(lastname_count$count, labels = lastname_count$성, main = "성 top10", 
	radius = 0.9, col = palete, border = NA) #여러 옵션 설정

 


 

결과 그래프

 

큐밀리들 성 top10

 


 

김민지 교육자의 아두이노 실습의 현장

 

재미있는 실습시간을 가지고 있는 큐밀리들의 모습입니다. (커엽)

우와, 신기해요!

 

직접 아두이노 키트를 조립해보고 프로그래밍을 통해 원하는 모양을 만들어봤습니다.

저는 하트 모양을 만들었는데요,

큐밀리들은 어떤 모양이 나왔었나요? 히히

 

다시 생각해도 정말 즐거운 실습시간이었습니다.

김민지 교육자님 감사합니다.

 


 

이렇게 이번 세션에서는빅데이터 및 IoT 실습을 진행해 보았습니다.

이렇게 큐시즘 5차 세션의 일지도 마무리되었네요!

 

이번 주 세션에서도 유익한 정보를 제공해준 세 교육자분께 다시 한 번 감사드리며

다음 세션 일지에서 또 만나요!

 

(안녕)


*위 자료에 대한 저작권은 배소연, 양용준, 김민지 교육자에게 있습니다. 무단 전재 및 재배포를 금지합니다.*