Loading...

[R] unnest_tokens()

토큰화 텍스트 데이터를 분석할 수 있는 단위로 쪼개는 과정입니다. 분석 목적에 따라 글자, 단어, n-gram, 문장, 문단 등 다양하게 지정할 수 있으며 디폴트 값은 단어(words)입니다. 단어 단위 token = "words" 글자 단위 token = "characters" 복수의 글자 단위 token = "character_shingles" 복수의 단어 단위 token = "ngrams" 정규표현식으로 지정 token = "regex" text % unnest_tokens( input = text, output = "word", token = "words" ) ## # A tibble: 10 x 1 ## word ## ## 1 i'm ## 2 not ## 3 lazy ## 4 i'm ## 5 ju..

[R] 2. Sentiment analysis with tidy data

2. Sentiment analysis with tidy data 아래 그림은 텍스트 분석의 흐름도 입니다. 텍스트 감정을 분석하는 방법 중 하나는 텍스트 데이터가 여러 개별 단어의 조합으로 구성되어 있을 때, 전체 텍스트에서 감정 내용을 개별 단어의 감정 내용의 합으로 간주하는 것입니다. 2. 1. The sentiments dataset textdata 라이브러리에 내장되어 있는 사전 데이터(dictionary-based)를 활용해보겠습니다. afinn: 단어 별 부정과 긍정 사이에 -5에서 5점까지 스코어를 매긴 데이터 bing: 긍/부정을 binary로 나타낸 데이터 (positive, negative) nrc: positive, negative 외에 세 가지 이상의 감정을 분류한 데이터 아래 데..

[R] 14. 피벗팅(pivotting)

피벗팅 과거 포스팅에서 spread()와 gather() 함수에 대해서 설명드린적이 있습니다. 데이터를 long format 또는 wide format으로 변환시키는 방법에 대한 설명입니다. 이번에는 같은 내용이지만 tidyverse 라이브러리에 있는 다른 함수를 사용하는 방법에 대해서 말씀드리겠습니다. 물론 spread(), gather() 함수 역시 같이 구동되는 tidyr 라이브러리의 내장 함수입니다만, 사용성을 더 개선한 함수가 있습니다. 예시로 쓰일 데이터 예제 set.seed(2021) # 임의로 데이터를 생성한다. (100명의 유저가 특정 곡을 스트리밍한 이력) temp % mutate( song_class_flag = case_when( song_id %in% c("d", "e", "f")..

[R] 13. 분산분석(ANOVA)

예시로 쓰일 데이터 예제 set.seed(2021) # 임의로 데이터를 생성한다. (100명의 유저가 특정 곡을 스트리밍한 이력) temp % aov(streaming_count ~ song_id, data = .) %>% summary() ## Df Sum Sq Mean Sq F value Pr(>F) ## song_id 4 171 42.79 1.72 0.149 ## Residuals 145 3608 24.88 마찬가지로 broom 라이브러리의 tidy() 함수를 이용하여 tibble 포맷의 결과를 출력해볼 수 있습니다. #aov() 함수를 적용한 후 tidy() 함수 사용 temp %>% aov(streaming_count ~ song_id, data = .) %>% tidy(.) ## # A tib..