본문 바로가기

R/쉽게 배우는 R 데이터분석

(12)
국정원 트윗 텍스트 마이닝 텍스트 마이닝은 소셜 네트워크에 올라온 글을 통해 사람들이 어떤 생각을 하고 있는지 알아보기 위한 목적으로 자주 활용됩니다. 이번 실습에서는 '국정원 계정 트윗 데이터'를 이용해 텍스트 마이닝을 해 보겠습니다. 이 데이터는 국정원이 대선에 개입한 사실이 밝혀져 논란이 됐던 2013년 6월 독립 언론 뉴스타파가 인터넷을 통해 공개한 것입니다. 이 데이터는 국정원 계정으로 작성된 3,744개 트윗으로 구성되어 있습니다. 무작위로 나열된 것처럼 보이는 수많은 글 중에서 의도가 분명한 경향성을 발견할 수 있기 때문에 텍스트 마이닝을 연습하는 데 알맞은 데이터입니다. *참고* 원본은 뉴스타파 사이트(http://newstapa.tistory.com/598)에서 다운로드할 수 있습니다. 실습에 사용한 데이터는 이 ..
힙합 가사 텍스트 마이닝 문자로 된 데이터에서 가치 있는 정보를 얻어 내는 분석 기법을 '텍스트 마이닝(Text mining)'이라고 합니다. 텍스트 마이닝을 할 때 가장 먼저 하는 작업은 문장을 구성하는 어절들이 어떤 품사로 되어 있는지 파악하는 '형태소 분석(morphology Analysis)'입니다. 형태소 분석으로 어절들의 품사를 파악한 후 명사, 동사 형용사 등 의미를 지닌 품사의 단어들을 추출해 각 단어가 얼마나 많이 등자앴는지 확인합니다. 텍스트 마이닝을 통해 SNS나 웹 사이트에 올라온 글을 분석하면 사람들이 어떤 이야기를 나누고 있는지 파악할 수 있습니다. 텍스트 마이닝 준비하기 힙합 음악 가사를 이용해 텍스트 마이닝을 하는 방법을 알아보겠습니다. 1. 패키지 준비하기 한글 자연어 분석 패키지인 KoNLP(Ko..
한국인의 삶을 파악하라! -09 고령 사회가 되면서 노인들을 위한 시설을 마련하는 일이 점점 더 중요해지고 있습니다. 노인들을 위한 시설을 마련하려면 우선 어느 지역에 노인들이 많이 살고 있는지 알아야 합니다. 지역별 연령대 비율을 분석해 노년층이 많은 지역이 어디인지 알아보겠습니다. 분석절차 1. 변수 검토 및 전처리 - 지역, 연령대 2. 변수 간 관계 분석 - 지역별 연령대 비율표 만들기, 그래프 만들기 지역 변수 검토 및 전처리하기 1. 변수 검토하기 class(welfare$code_region) [1] "numeric" table(welfare$code_region) 1 2 3 4 5 6 7 2486 3711 2785 2036 1467 1257 2922 2. 전처리 code_region 변수의 값은 7개 권역을 의미하는 지역..
한국인의 삶을 파악하라! -08 이번에는 종교가 있는 사람들이 종교가 없는 사람들보다 이혼을 덜 하는지 분석해 보겠습니다. 먼저 종교, 혼인 상태 두 변수를 검토하고 전처리한 후 변수 간 관계를 분석하겠습니다. 분석 절차 1. 변수 검토 및 전처리 -종교, 혼인상태 2. 변수 간 관계 분석 -종교 유무에 따른 이혼율 표 만들기, 그래프 만들기 종교 변수 검토 및 전처리하기 1. 변수 검토하기 class(welfare$religion) [1] "numeric" table(welfare$religion) 1 2 8047 8617 2. 전처리 코드북의 종교 변수에 대한 정보를 바탕으로 전처리를 하겠습니다. 앞의 출력 결과를 보면 1과 2외에 다른 값이 존재하지 않습니다. 이상치를 결측 처리하는 작업은 생략하고 값의 의미를 이해할 수 있도록 ..
한국인의 삶을 파악하라! -07 성 평등이 상식인 세상이 됐지만 여전히 성별에 따라 다른 직업을 갖는 경향이 있습니다. 성별에 따라 어떤 직업이 많은지 분석해 보겠습니다. 성별, 직업 변수 전처리 작업은 앞에서 완료했으니 바로 변수 간 관계를 분석하겠습니다. 분석 절차 1. 변수 검토 및 전처리 -성별, 직업 2. 변수 간 관계 분석 -성별 직업 빈도표 만들기, 그래프 만들기 성별 직업 빈도 분석하기 성별 변수 전처리는 02, 직업 변수 전처리는 06에서 완료했으니 생략하고 변수 간 관계를 분석하겠습니다. 1. 성별 직업 빈도표 만들기 각 성별로 직업별 빈도를 구해 상위 10개를 추출하겠습니다. # 남성 직업 빈도 상위 10개 추출 job_male % filter(!is.na(job)&sex == "male") %>% group_by(..
한국인의 삶을 파악하라! -06 이번에는 직업별 월급을 분석해 보겠습니다. 먼저 직업 변수를 검토하고 전처리하겠습니다. 월급 변수 전처리 작업은 앞에서 완료했으니 생략하고 변수 간 관계를 분석하겠습니다. 분석 절차 1. 변수 검토 및 전처리 -직업, 월급 2. 변수 간 관계 분석 -직업별 월급 평균표 만들기, 그래프 만들기 직업 변수 검토 및 전처리하기 1. 변수 검토하기 먼저 직업을 나타낸 code_job 변수를 살펴보겠습니다. class(welfare$code_job) [1] "numeric" table(welfare$code_job) 111 120 131 132 133 134 135 139 141 149 151 152 153 159 211 212 213 2 16 10 11 9 3 7 10 35 20 26 18 15 16 8 4 3..
한국인의 삶을 파악하라! -05 02에서는 데이터 전체를 이용해서 성별 월급 차이를 분석했습니다. 그런데 성별 월급 차이는 연령대에 따라 다른 양상을 보일 수 있습니다. 이번에는 성별 월급 차이가 연령대에 따라 다른지 분석해 보겠습니다. 연령대, 성별, 월급 변수 모두 앞에서 전처리 작업을 완료했으니 바로 변수 간 관계를 분석하겠습니다. 분석절차 1. 변수 검토 및 전처리 -연령대, 성별, 월급 2. 변수 간 관계분석 -연령대 및 성별 월급 평균표 만들기, 그래프 만들기 연령대 및 성별 월급 차이 분석하기 1. 연령대 및 성별 월급 평균표 만들기 각 연령대에서 성별에 따른 월급 차이가 있는지 알아보기 위해 연령대 및 성별에 따른 월급 평균표를 만들겠습니다. sex_income % filter(!is.na(income)) %>% grou..
한국인의 삶을 파악하라! -04 연령대에 따른 월급 차이 - "어떤 연령대의 월급이 가장 많을까?" 앞에서는 각 나이별 평균 월급을 분석했습니다. 이번에는 나이를 연령대로 분류해서 비교해 보겠습니다. 분석절차 1. 변수 검토 및 전처리 -연령대, 월급 2. 변수 간 관계 분석 -연령대별 월급 평균표 만들기, 그래프 만들기 연령대 변수 검토 및 전처리하기 파생변수 만들기 - 연령대 앞에서 만든 나이 변수를 이용해 연령대 변수를 만들겠습니다. 표의 기준에 따라 연령대 변수를 만든 후 각 범주에 몇 명이 있는지 살펴보겠습니다. welfare % mutate(ageg = ifelse(age % summarise(mean_income = mean(income)) a..