Twitter 데이터의 관계를 빠르게 분석

개요 및 설정



이 게시물은 Twitter 분석 데이터를 탐색하는 데 도움이 되는 다양한 R 라이브러리 및 기능을 사용합니다. 가장 먼저 할 일은 에서 데이터를 다운로드하는 것입니다. 여기서 가정은 귀하가 이미 Twitter 사용자이고 최소 6개월 동안 사용하고 있다는 것입니다.

여기에서 Tweets 탭을 클릭하면 데이터 내보내기 옵션이 있는 트윗 활동으로 이동합니다.



데이터 내보내기를 클릭하면 매일 노출수 및 참여 측정항목을 제공하는 "일별"을 선택합니다(데이터 내보내기 바로 옆에 있는 드롭다운 메뉴에서 기간도 선택합니다. 기본값은 "지난 28일").

참고: 다른 옵션은 "트윗으로"를 선택하는 것입니다. 이렇게 하면 관련 메트릭과 함께 각 트윗의 텍스트가 다운로드됩니다. 이것으로 잠재적으로 재미있는 텍스트 분석을 할 수 있지만 다른 게시물을 위해 저장하겠습니다.

이 게시물에서는 5개월 전의 사용 가능한 모든 데이터를 다운로드했습니다.

다운로드 후 데이터를 읽고 싶을 것입니다. 이 경우에는 5개월을 모두 하나의 데이터 프레임으로 결합하고 readr에 포함된 read_csv() 패키지와 tidyverse 함수를 사용합니다. 그런 다음 rbind()를 사용하여 5개의 데이터 프레임을 행별로 결합합니다.

library(tidyverse)

# load data from September to mid-January
df1 <- read_csv("./daily_tweet_activity/daily_tweet_activity_metrics_paulapivat_20200901_20201001_en.csv")
df2 <- read_csv("./daily_tweet_activity/daily_tweet_activity_metrics_paulapivat_20201001_20201101_en.csv")
df3 <- read_csv("./daily_tweet_activity/daily_tweet_activity_metrics_paulapivat_20201101_20201201_en.csv")
df4 <- read_csv("./daily_tweet_activity/daily_tweet_activity_metrics_paulapivat_20201201_20210101_en.csv")
df5 <- read_csv("./daily_tweet_activity/daily_tweet_activity_metrics_paulapivat_20210101_20210112_en.csv")

# combining ALL five dataframes into ONE, by rows
df <- rbind(df1, df2, df3, df4, df5)


관계 탐색



Twitter 분석은 리트윗, 답글, 좋아요, 사용자 프로필 클릭, URL 클릭, 해시태그 클릭, 세부 정보 확장, 미디어 보기 및 미디어 참여를 포함하여 참여 아래에 광범위하게 그룹화된 여러 메트릭을 추적합니다.

내가 사용하지 않은 서비스인 "앱 열기"및 "프로모션된 참여"와 같은 다른 메트릭이 있으므로 사용 가능한 데이터가 없습니다.

안내 질문



탐색에 집중하는 데 도움이 되는 안내 질문이 있으면 유용합니다. 내 트윗 중 하나가 독자가 내 프로필을 클릭하도록 유도했는지 여부에 관심이 있다고 가정해 보겠습니다. 이에 대한 메트릭은 user profile clicks 입니다.

이 게시물에 대한 나의 초기 안내 질문은 다음과 같습니다.

Which metrics are most strongly correlated with User Profile Clicks?



기본 R과 함께 제공되는 cor.test() 함수를 사용하여 각 메트릭과 User Profile Click 사이를 하나씩 이동할 수 있습니다. 예를 들어 아래에서 세 쌍의 변수(User Profile Clicksretweets , replieslikes ) 간의 상관 관계를 별도로 계산합니다. 잠시 후 지루해질 수 있습니다.

cor.test(x = df$`user profile clicks`, y = df$retweets)
cor.test(x = df$`user profile clicks`, y = df$replies)
cor.test(x = df$`user profile clicks`, y = df$likes)


데이터 세트 전체에서 메트릭 쌍 간의 관계를 탐색하는 더 빠른 방법은 상관 관계도를 사용하는 것입니다.

기본 R부터 시작하겠습니다. 상관관계도가 너무 복잡해지지 않도록 시각화하는 변수의 수를 제한하고 싶을 것입니다. 다음은 User Profile Clicks와 가장 높은 상관 관계가 있는 네 가지 변수입니다.

# four columns are selected along with user profile clicks to plot
df %>%
    select(8, 12, 19:20, `user profile clicks`) %>%
    plot(pch = 20, cex = 1.5, col="#69b3a2")


비주얼은 다음과 같습니다.



중간 정도의 관계가 있는 또 다른 4가지 측정항목은 다음과 같습니다.

df %>%
    select(6:7, 10:11, `user profile clicks`) %>%
    plot(pch = 20, cex = 1.5, col="#69b3a2")




시각적으로 중간 정도의 관계 산점도가 더 분산되어 식별하기 어려운 방향을 볼 수 있습니다.

기본 R은 신뢰할 수 있지만 GGally 패키지를 사용하면 더 많은 정보를 얻을 수 있습니다. 다음은 User Profile Clicks와 상관관계가 높은 네 가지 변수입니다.

library(GGally)

# GGally, Strongest Related
df %>%
    select(8, 12, 19:20, `user profile clicks`) %>%
    ggpairs(
        diag = NULL,
        title = "Strongest Relationships with User Profile Clicks: Sep 2020 - Jan 2021",
        axisLabels = c("internal"),
        xlab = "Value"
    )



다음은 user profile clicks와 상관관계가 가장 높은 4개의 변수 사이의 상관관계도입니다.



다음은 User Profile Clicks와 적당히 상관관계가 있는 변수입니다.



보시다시피 산점도를 제공할 뿐만 아니라 각 변수 쌍 간의 상관 관계에 대한 수치 값도 표시하므로 기본 R보다 훨씬 더 많은 정보를 얻을 수 있습니다.

이제 여기에서 보고 있는 초기 패턴이 다른 데이터 세트로 일반화되지 않기 때문에 데이터의 상관 패턴이 다를 수 있습니다.


데이터 과학, 기계 학습, R, Python, SQL 등에 대한 자세한 내용은 .

좋은 웹페이지 즐겨찾기