brunch

빅분기 실기(작업유형1)

R로 푸는 빅분기 실기 연습(작업유형 1)

by 첨물

제3회 빅분기 실기 (11/8~11/12 접수, 12/4 시험)를 본격적으로 준비하기 위하여 각종 사이트에 올라와 있는 예제 문제를 풀어보기로 하였다.


우선 아래 이기적 스터디 카페에 올라온 문제 (예제 10) 을 R로 풀어보았다.

아래 카페는 파이썬으로 답이 올라와 있어 고민고민 하면서 R로 푸는 작업을 하였다.

풀이는 구글코랩_R에서 진행하였다. (가능한 시험장과 유사)


https://cafe.naver.com/yjbooks





dataurl =https://raw.githubusercontent.com/Datamanim/datarepo/main/youtube/youtube.csv

[출처] 10주차 예상문제 (이기적 스터디 카페 / 컴활,정보처리,빅분기) | 작성자 빅분기 실기조교



#Q1. 인기동영상 제작횟수가 많은 채널 상위 10개명을 출력하라 (날짜기준, 중복포함)




#Q1

library(dplyr)

result<-df%>%group_by(channelTitle)%>%summarise(n=n())%>%arrange(desc(n))

%>%slice(c(1:10))%>%select(1)

print(unname(result))


#Q2. 논란으로 인기동영상이 된 케이스를 확인하고 싶다. dislikes수가 like 수보다 높은 동영상을 제작한 채널을 모두 출력하라


#Q2

result2<-unique(df[which(df$dislikes > df$likes),3])

print(result2)


Q4. 일요일에 인기있었던 영상들중 가장많은 영상 종류(categoryId)는 무엇인가?


#Q4

df$weekday <- as.factor(weekdays(as.POSIXct(df$trending_date2)))

result4<-df %>%filter(weekday=="Sunday") %>% group_by(categoryId) %>%summarise(n=n()) %>% arrange(desc(n)) %>% slice(1)

print(unname(result4[,1])


Q5. 각 요일별 인기 영상들의 categoryId는 각각 몇개 씩인지 하나의 데이터 프레임으로 표현하라


#Q5

df2<- df %>% select(c("categoryId", "weekday")) %>% arrange(weekday)

result4<- table(df2)

print(result4)



Q6. 댓글의 수로 (comment_count) 영상 반응에 대한 판단을 할 수 있다.
viewcount대비 댓글수가 가장 높은 영상을 확인하라 (view_count값이 0인 경우는 제외한다)



#Q6

result6<-df %>% mutate (ratio= comment_count/view_count) %>% arrange(desc(ratio)) %>% filter(ratio>0 & ratio != "Inf") %>% select(title) %>% slice(1)

print(unname(result6))



Q7. 댓글의 수로 (comment_count) 영상 반응에 대한 판단을 할 수 있다.
viewcount대비 댓글수가 가장 낮은 영상을 확인하라 (view_counts, ratio값이 0인경우는 제외한다.)


#Q7

result7<-df %>% mutate (ratio= comment_count/view_count) %>% arrange(ratio) %>% filter(ratio>0) %>% select(title) %>% slice(1)

print(unname(result7))



Q8. like 대비 dislike의 수가 가장 적은 영상은 무엇인가? (like, dislike 값이 0인경우는 제외한다)


#Q8

result8<- df %>% mutate (ratio2= dislikes/likes) %>% arrange(ratio2) %>% filter(ratio2>0) %>% select(title) %>% slice(1)

print(unname(result8))


Q9. 가장많은 트렌드 영상을 제작한 채널의 이름은 무엇인가? (날짜기준, 중복포함)


#Q9

result9<- df %>% group_by(channelTitle) %>% summarise(n=n()) %>% arrange(desc(n)) %>% select(channelTitle) %>% slice(1)

print(unname(result9))


Q10. 20회(20일)이상 인기동영상 리스트에 포함된 동영상의 숫자는?

41


#10

result10<-df %>% group_by(title) %>% summarise(n=n()) %>% filter(n>=20) %>%nrow()

print(result10)


사이트에는 문제 3번도 있었는데, R로는 풀지를 못했다.

Q3. 채널명을 바꾼 케이스가 있는지 확인하고 싶다. channelId의 경우 고유값이므로
이를 통해 채널명을 한번이라도 바꾼 채널의 갯수를 구하여라



keyword
매거진의 이전글빅분기 2회 기출문제(실기)