Loading...

[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..

[R] 12. 카이제곱 검정(chi-squared test)

예시로 쓰일 데이터 예제 set.seed(2021) # 임의로 데이터를 생성한다. (100명의 유저가 특정 곡을 스트리밍한 이력) temp % spread(key = "song_id", value = "n") cross_tabs ## # A tibble: 2 x 6 ## user_gender a b c d e ## ## 1 남성 13 13 14 19 7 ## 2 여성 22 17 10 17 18 위와 같이 교차분할표를 spread() 함수를 사용하셔서 만들 수 도 있습니다. 하지만 카이제곱 검정이 가능한 chisq.test() 함수는 파라미터 값으로 table이나 xtabs라는 클래스를 갖는 객체를 받습니다. 따라서 tidyverse의 접근방식으로 xtabs() 함수를 사용하여 해당 클래스 객체를 만들어보..

[R] 11. t-Test

예시로 쓰일 데이터 예제 set.seed(2021) # 임의로 데이터를 생성한다. (100명의 유저가 특정 곡을 스트리밍한 이력) temp % mutate( song_class_flag = case_when( song_id %in% c("d", "e", "f") ~ "인기곡", TRUE ~ "비인기곡" ) ) temp ## # A tibble: 150 x 7 ## user_id user_age user_gender song_id streaming_count download_count ## ## 1 10000 44 여성 e 20 6 ## 2 10001 47 남성 f 21 6 ## 3 10002 49 남성 k 14 3 ## 4 10003 44 남성 j 8 4 ## 5 10004 26 여성 f 20 5 ## ..

[R] 10. 피어슨 상관계수(Pearson's Corrleation)

예시로 쓰일 데이터 예제 set.seed(2021) # 임의로 데이터를 생성한다. (100명의 유저가 특정 곡을 스트리밍한 이력) temp % mutate( song_class_flag = case_when( song_id %in% c("d", "e", "f") ~ "인기곡", TRUE ~ "비인기곡" ) ) temp ## # A tibble: 150 x 7 ## user_id user_age user_gender song_id streaming_count download_count ## ## 1 10000 44 여성 e 20 6 ## 2 10001 47 남성 f 21 6 ## 3 10002 49 남성 k 14 3 ## 4 10003 44 남성 j 8 4 ## 5 10004 26 여성 f 20 5 ## ..