LoginSignup
4
4

More than 5 years have passed since last update.

【はじめてのR言語】RStuditoを使ってメールのログから開封時間帯を見てみる

Last updated at Posted at 2015-08-27

右も左もわからないところから初めてみました。
メールの開封や、クリックのログありますよね。
そのデータから何時頃が一番メールを開いているのか、開封時間帯を見てみようかと思います。

データの取込

まずはデータの取込。CSVファイルから取り込む。
RStudioを利用するなら Import Datasetで取り込むこともできる。

Kobito.P71uz8.png

書くならこう。

maillog <- read.csv("~/Desktop/maillog.csv")

デモ用のデータセット

読み込んだデータはテーブルで表示されます。

今回の例は左から
ID, 顧客ID, ログタイプ(今回は開封ログ),ログ作成日時, 修正日時
となってます。
Kobito.PqJlM5.png

こういうデータが表で確認できるのもRStudioのいいところですね!

データセットからデータを絞り込みたい場合

例えばある顧客のみの行動結果を見たい場合

subset(maillog, customer_id == 63695)

// その件数を確認
nrow(subset(maillog, customer_id == 63695))

Kobito.5tnrvT.png

//テーブルの列データは下記のようにアクセスできる、たとえばcustomer_idの場合
maillog$customer_id

Kobito.6yx7on.png

日付形式にする

ここが一番ポイントです。
ログの収集日時 テキストを日付形式にして変数に保管

created <- as.POSIXlt(maillog$created)

ログの収集日時から時間のみを抽出

created$hour

  [1] 12 10 11 11 11 12 13 15 15 19 19 19 20 11 11 11 11 12 12 12 12 12 13 13 13 13 13 13
 ・
 ・

//他、秒や分等は・・・
//変数$ の後にsec, min, hour, mday, mon, year, wday, yday等でアクセスできる

時間ごとのログの数

tableを利用すると集計が出てくる

table(created$hour)
// 0時 6件、 3時 1件という具合

 0  3 10 11 12 13 14 15 16 17 18 19 20 21 22 23 
 6  1  1  7  7 57 36 30 13 12 10 10 14 22  8 11 

グラフの出力

下記で簡単に出力されます。
縦が件数、横が時間軸

この例だと13時ごろが開封が多いという結果ですね。

plot(table(created$hour))

Kobito.BvhQDL.png

まとめ

という具合で簡単にCSVデータさえあればここまで出力ができました。
実際始めてさわってみて思ったのが、エクセルの代わりになるんじゃないかなってイメージが近いかも。
プログラムというよりも、エクセルの関数的な扱いでいけちゃうんじゃないでしょうか。

※始めて2時間程度でやってみた内容です。
不備、誤認識等も有るかもしれませんので、業務で上司に提出するような場合はよくお確かめ下さい!
責任持てません!自己責任で。
ご指摘等あれば頂きたいです。

その他

OS情報を持っているならこういう情報も簡単に見れます。iOSダントツ。

Kobito.zIho4V.png

4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4