R로 소셜 미디어 데이터 분석하기
Sowmya Vivek
Data Science Coach
screen_name은 사용자의 트위터 핸들을 저장
rtweet 라이브러리로 트위터 JSON을 데이터프레임으로 변환
# "#brexit" 트윗 추출
tweets_df <- search_tweets("#brexit")
# 열 이름 보기
names(tweets_df)

screen_name: 사용자의 관심사 파악followers_count: 소셜 영향력 비교retweet_count와 text: 인기 트윗 식별screen_name는 트위터 핸들을 의미# "#Arsenal" 트윗 추출
twts_arsnl <- search_tweets("#Arsenal", n = 18000)
# 사용자와 해당 주제의 트윗 수 집계
dc_name <- table(twts_arsnl$screen_name)
head(dc_name)
_____today_____ ___JJ23 ___SAbI__ __ambell __Amzo__ __bobbysingh
1 2 3 1 1 1
# 트윗 수 기준 내림차순 정렬
sc_name_sort <- sort(sc_name, decreasing = TRUE)
# 상위 6명과 트윗 빈도 확인
head(sc_name_sort)
_whatthesport footy90com Official_ATG1 TheShortFuse RubellM ArsenalZone_Ind
176 90 88 53 48 43
# lookup_users()로 사용자 데이터 조회
tvseries <- lookup_users("GameOfThrones", "fleabag", "BreakingBad")
# screen_name과 followers_count 열로 데이터프레임 생성
user_df <- tvseries[,c("screen_name","followers_count")]
# 비교를 위한 팔로워 수 확인
user_df
screen_name followers_count
<chr> <int>
GameOfThrones 8597188
fleabag 58727
BreakingBad 1240349
retweet_count에 리트윗 수 저장# 트윗 텍스트와 리트윗 수 데이터프레임 생성
rtwt <- tweets_arsenal[,c("text", "retweet_count")]
# 리트윗 수 내림차순 정렬
library(dplyr)
rtwt_sort <- arrange(rtwt, desc(retweet_count))
# 중복 트윗 텍스트 행 제거
rtwt_unique <- unique(rtwt_sort, by = "text")
# 가장 많이 리트윗된 상위 6개 고유 게시물 출력
head(rtwt_unique)
retweet_count text
<int> <chr>
5606 Once a Gunner, Always a Gunner. We are proud of you @alexanderiwob
3764 Emirates on Fire 🔥🔥🔥🔥 Never give up Gunners💪🏽💪🏽💪🏽 #Arsenal #CO
2798 That mood tonight ⚡️⚡️⚡️ 3️⃣ POINTS 🔴⚪️ #Arsenal #Gunners #COYG h
2741 #Arsenal fan: "I reckon we'll win the League this season." @Robbie
1687 Auba 😭😭😍😍 This is what I call happiness #aubameyang #arsenal
1166 When sky sports introduced the new Monday night football! The Sha
R로 소셜 미디어 데이터 분석하기