右も左もわからないところから初めてみました。
メールの開封や、クリックのログありますよね。
そのデータから何時頃が一番メールを開いているのか、開封時間帯を見てみようかと思います。
データの取込
まずはデータの取込。CSVファイルから取り込む。
RStudioを利用するなら Import Datasetで取り込むこともできる。
書くならこう。
maillog <- read.csv("~/Desktop/maillog.csv")
デモ用のデータセット
読み込んだデータはテーブルで表示されます。
今回の例は左から
ID, 顧客ID, ログタイプ(今回は開封ログ),ログ作成日時, 修正日時
となってます。
こういうデータが表で確認できるのもRStudioのいいところですね!
データセットからデータを絞り込みたい場合
例えばある顧客のみの行動結果を見たい場合
subset(maillog, customer_id == 63695)
// その件数を確認
nrow(subset(maillog, customer_id == 63695))
//テーブルの列データは下記のようにアクセスできる、たとえばcustomer_idの場合
maillog$customer_id
日付形式にする
ここが一番ポイントです。
ログの収集日時 テキストを日付形式にして変数に保管
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))
まとめ
という具合で簡単にCSVデータさえあればここまで出力ができました。
実際始めてさわってみて思ったのが、エクセルの代わりになるんじゃないかなってイメージが近いかも。
プログラムというよりも、エクセルの関数的な扱いでいけちゃうんじゃないでしょうか。
※始めて2時間程度でやってみた内容です。
不備、誤認識等も有るかもしれませんので、業務で上司に提出するような場合はよくお確かめ下さい!
責任持てません!自己責任で。
ご指摘等あれば頂きたいです。
その他
OS情報を持っているならこういう情報も簡単に見れます。iOSダントツ。