mathematikの すうがく ブログ

機械学習とかRとかPythonを中心に書いていく予定です

TwitterのRTの回数を調べてみた

Rの勉強も兼ねて、TwitterのRT回数をカウントしてみました。

以前からTwitterのつぶやきについて、投稿したあと、投稿してからの経過時間とRT数の関係性について調査したいと思っていました。今回はその過程で経過時間ではなく、時刻とRT数との間に面白い関係性が見えたため、これについて簡単に記事を書きます。

 

測定方法は、自分のタイムラインにあらわれていたつぶやきを中心にいくつかピックアップして、一定時間ごとにRT回数を測定しました。

下のグラフは3月のある金曜日のRT数の時間遷移の様子です。

縦軸にはRT数を少し加工した値を採用しています。

 

f:id:mathematik:20150327003517p:plain

 

複数のつぶやきをのRT回数を見ていましたが、RT数が1万を超えるものと1000程度のものが同時にプロットされるので、各IDのRT数を同じグラフに描くと特徴が掴みにくくなりました。

しかし最大RT回数で割れば各つぶやきを同じ「ものさし」で図れるのではないかと考え、最大RT回数で割りました。このおかげでRT回数と時間の関係性が見やすくなったと思います。

 

例えばID-01のプロットのy軸は

y=(RT回数)/(ID-01のRT回数の最大値)

 

とRT回数の最大値でID-01の測定した各RT数を割っています。

このように各IDごとにIDごとの最大RT数で測定した各RT数を割っています。

 

 

15時ごろから測定を開始しましたが、一旦1時頃にRTの伸びは一旦緩やかになり、1時以降はほとんどされなくなります。

そして8時頃から再びRTが増え始めます。

つまり多くの人が23時以降からTwitterから離れ始め、1時ごろから就寝、8時頃に起床という生活パターンをしている人が多い、のかもしれません。

 

当然このつぶやきは「旬」を過ぎたRTであり、時間経過と共にRTの伸びがゆっくりになります。

一部IDが抜けていますが、RT数が極端に少なく、ほぼy=1のようにx軸に並行にあるようなつぶやきがいくつかあったのでいくつか棄却しています。

 

今回少し各RT数を最大RT数で割ることに手間取りました。

やってみれば割と単純でした。

イマイチRのデータ選択の方法がわかっていなかったのが原因でした。

 基本は以下のようなコマンドで行いました。

> rtdata=read.table("twdata.tsv",sep="\t",header=T)
> library(ggplot2)
> library(digest)

> for(i in 1:length(rtdata$id)){
+      rtdata$dived.rt[i]=rtdata$rt[i]/max(rtdata[rtdata$id==rtdata$id[i],"rt"])
+ }

> ggplot(rtdata,aes(x=daytime,y=dived.rt,colour=id))+geom_line()