인트로
R의 기본 골격에 대해 익숙해졌다면 이제 인터넷이라는 넓은 공간에서 매일매일 쌓이는
수많은 데이터를 실제로 분석해보는 경험을 해봐야 한다. 무엇이든 간에 프로젝트를 만들면서 배우는 것이
가장 빠르고 정확한 배움의 방법이기 때문이다.
수집
먼저 분석할 데이터(Raw Data)를 구해야 한다. 직접 데이터를 구하는 것도 방법이지만
분석을 통해 의미를 찾는 것이 R의 존재 의미라고 생각한다.
주로 사용할 사이트는 우리나라의 각종 공공데이터가 모여있는 '공공데이터포털' 과
데이터 분석 챌린지와 프로젝트를 제공하는 'Kaggle' 이라는 사이트가 되겠다.
공공데이터 포털
국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Datase
www.data.go.kr
Kaggle: Your Machine Learning and Data Science Community
Kaggle is the world’s largest data science community with powerful tools and resources to help you achieve your data science goals.
www.kaggle.com
전처리
우리는 데이터 분석을 위해 모든 데이터를 사용하지 않는다.
필요한 일부분을 추출하거나, 분석에 용이하게끔 변형하는 과정인 '전처리(Pre-processing)'가 필요하다.
이전의 공부 기록에서도 다루었듯이, R에서도 충분히 여러 패키지를 사용함으로써
다양한 함수를 통해 데이터를 수정하거나 알맞게 다듬을 수 있다.
하지만 거의 대부분의 데이터는 우리에게 아주 친숙하고
사실상 데이터 분석뿐만이 아니라 '업무' 그 자체에 사용되는 Excel 역시 전처리로 매우 유용하다.
해당 데이터를 얻기 위해 거친 전처리 과정 :
- 공공데이터포털의 데이터들은 보통 매우 많은 열을 가진다. 그래서 Ctrl + ( - ) 단축키를 통해 열을 삭제한다.
- 시/도/군 + 도로명으로 표기 시, Ctrl + Shift + ( + ) 을 통해 열 추가 후 Ctrl + E 를 통해 시/도 만 추출한다.
- R을 통해 시각화하는 경우, 그래프의 컬럼명이 긴 경우 시각화 시 문제가 발생할 수 있다.
- 열 선택 후 Ctrl + F (찾기/바꾸기) 를 통해 시/도 명을 최소화시킨다.
시각화
시각화시키는데 필요한 기본적인 구조는 이전의 공부기록에 저장되어 있다.
이 글은 실제 프로젝트에서 맞닥뜨릴 문제를 대응하는 방법에 가깝다.
# freq,barplot 함수 사용
freq(data$location,plot=T,main='City_freq_function')
data_table <- table(data$location)
barplot(data_table,main='City_barplot_function')
이 그래프의 문제는 단순하다.
빈도분석이 잘 되었지만, 데이터가 빛나는 순간은 그것을 읽는 사람들이
의미를 정확하고 신속하게 받아들이는 것이 중요하다.
'빈도' 라는 데이터는 역시 가장 많은 것과 가장 적은 것이 명확하게 드러나야 하는 것이기에
당연히 내림차순 정렬이 기본이다.
# 정렬된 데이터를 위한 코드
data_arranged <- count(data,location) %>% arrange(desc(n))
data_arranged[is.na(data_arranged)] <- '기타'
ggplot(data=data_arranged,aes(x=reorder(location,-n),y=n)) + geom_col() +
labs(x='location',y='num of shows',title='시도별 공연 수 분석')
- count 함수 : 데이터의 특정 열에 대한 빈도분석을 진행 후, 새로운 데이터프레임으로 생성.
- reorder 옵션 : 시각화 시, 축 정렬을 특정 기준으로 재정렬.
- count 함수 사용 후 파이프라인을 통해 바로 arrange 함수에 넣어 내림차순 정렬
- A [ is.na (A) ] 구문을 사용해 NA 컬럼명 변경
- ggplot 의 aes 함수의 축 설정 옵션인 reorder 함수를 활용해서 y축인 개수 기준으로 내림차순 ( - ) 정렬
** 중요 **
geom_bar | aes 함수에 x축만 입력 / 막대그래프 빈도분석 함수 |
geom_col | aes 함수에 모든 축 입력 / 각각의 x축 데이터에 따른 y축 데이터를 막대그래프로 표현하는 함수 |
.
'Coding & Data Analysis > R' 카테고리의 다른 글
[R] 코로나19 선별진료소 빈도분석 & 지도 시각화 (0) | 2024.08.27 |
---|---|
[R] 시각화를 위한 데이터 구조 변경 및 추가 개념 (0) | 2024.08.25 |
[R] ggmap 패키지를 활용한 지도 시각화 (0) | 2024.08.21 |
[R] 절편과 기울기 구하기 : 회귀 분석 (0) | 2024.08.20 |
[R] 6-2. 그래프에 객체 추가하기 (0) | 2024.08.20 |