RでWebアクセス解析~本サイトのアクセスについて~

今回は本サイトのアクセス状態をもとに、Webアクセス解析を行ってみたいと思います。

Web解析の目的

Web解析の目的は、様々なものがあると思います。
目的にあった解析をしなければなりませんが、今回は、「訪問者の属性の推定」を行ってみようと思います。

仮説

さて、分析を行う前に、仮説を立てたいと思います。
解析はあくまでもその仮説を裏付ける根拠として利用します。
このサイトはRを利用した統計解析の情報をメインコンテンツとしています。
ということは、「統計学に興味があり、中でもRを利用している人」が訪問者の大多数ではないかとの仮説が立ちます。

解析

では実際に解析を行ってみます。
といっても、データがないと始まらないので、「Google Analytics」からデータを引っ張ってきます。(今回はCSVで抽出しました。)
今回は2015年の日ごとのアクセス数を取得してきました。
さて、私の仮説「統計学に興味があり、中でもRを利用している人」たちは、おそらく仕事や大学で調べる必要性があるのではないかと推測が立ちます。
仕事や大学は平日がメインのため、平日のアクセス数が多いのではないかとの推測ができます。
そこで、曜日ごとのアクセス数を集計してみようと思います。
「Google Analytics」から引っ張ってきたデータは下記のようなものです。

# —————————————-
# すべてのウェブサイトのデータ
# ユーザー サマリー
# 20150101-20151231
# —————————————-

日の指標,セッション
2015/01/01,6
2015/01/02,3
2015/01/03,5
2015/01/04,5

このままでは分析できないので、Excelで少し加工します。
取得したデータをテキストエディタで開き、すべて選択してExcelに貼り付けます。
すると、A列にデータが張り付きます。
そこから、A列を選択して「データタブ>区切り位置」を選択し、「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ>区切り文字(カンマ)を選択>完了」を押します。
078


これで、年月日とセッション数が別の列に分けられます。
その後、年月日とセッション数の間に1列挿入し、A列を参照させます。
080


その後、書式定義を編集し、曜日を表示するようにします。
対象のセルで右クリック>セルの書式設定>表示形式タブで「ユーザ定義」を選択>「種類」の下に「aaaa」を入力
081
これで曜日を表示することができます。
あとは、これを全データにコピーして保存すればデータの準備が完了します。
保存したら、Rへ読み込みます。ただ、曜日はうまく取り込めないみたいなので、テキストに張り付けてから取り込みます。
取り込んだらこうなります。

x <- read.csv("アクセスログ.txt")

head(x)

日付 曜日 セッション数

1 2015/1/1 木曜日 6

2 2015/1/2 金曜日 3

3 2015/1/3 土曜日 5

4 2015/1/4 日曜日 5

5 2015/1/5 月曜日 7

6 2015/1/6 火曜日 7

さて、これを層別に集計したいと思います。

result <- tapply(x$セッション数,x$曜日,summary)

result

$火曜日

Min. 1st Qu. Median Mean 3rd Qu. Max.

6.00 23.00 57.50 55.56 80.00 119.00



$金曜日

Min. 1st Qu. Median Mean 3rd Qu. Max.

3.00 25.75 51.50 50.00 71.25 119.00



$月曜日

Min. 1st Qu. Median Mean 3rd Qu. Max.

7.00 24.25 56.00 55.63 76.00 156.00



$水曜日

Min. 1st Qu. Median Mean 3rd Qu. Max.

7.00 23.75 59.00 53.60 74.75 115.00



$土曜日

Min. 1st Qu. Median Mean 3rd Qu. Max.

5.00 13.75 29.00 27.42 41.00 60.00



$日曜日

Min. 1st Qu. Median Mean 3rd Qu. Max.

5.00 17.00 30.50 31.25 43.75 60.00



$木曜日

Min. 1st Qu. Median Mean 3rd Qu. Max.

6.0 24.0 51.0 52.6 75.0 135.0



あれれ、これでは曜日の順がわかりにくいですね。少し並び替えましょう。

sortResult <- c(result[3],result[1],result[4],result[7],result[2],result[5],result[6])

sortResult

$`月曜日`

Min. 1st Qu. Median Mean 3rd Qu. Max.

7.00 24.25 56.00 55.63 76.00 156.00



$火曜日

Min. 1st Qu. Median Mean 3rd Qu. Max.

6.00 23.00 57.50 55.56 80.00 119.00



$水曜日

Min. 1st Qu. Median Mean 3rd Qu. Max.

7.00 23.75 59.00 53.60 74.75 115.00



$木曜日

Min. 1st Qu. Median Mean 3rd Qu. Max.

6.0 24.0 51.0 52.6 75.0 135.0



$金曜日

Min. 1st Qu. Median Mean 3rd Qu. Max.

3.00 25.75 51.50 50.00 71.25 119.00



$土曜日

Min. 1st Qu. Median Mean 3rd Qu. Max.

5.00 13.75 29.00 27.42 41.00 60.00



$日曜日

Min. 1st Qu. Median Mean 3rd Qu. Max.

5.00 17.00 30.50 31.25 43.75 60.00



resultはlistなので、要素を指定して、結合していきます。これで月曜日から順に並びましたね。
さて、この状態ではわかりにくいので、箱ひげ図を作成します。

boxplot(sortResult)

作成した箱ひげ図
082

やはり平日(月~金)の方がアクセス数多いですね。土日と比べると、ざっと20~30程度の差がありますね。。。全体的にアクセス数が少ないですが(泣)
これで、平日のアクセス多いことが分かりましたね。

最後に

今回は曜日ごとのアクセス数を分析してみました。結果として平日のアクセス数が多いことが分かりました。
また、「Google Analytics」によると、「若い人が約80%(18~24で40%超、25~34で40%弱)」、「男性が75%」という結果も出ています(便利ですねー)
083
これらの情報から、「18~34歳の男性」が主な読者ということが分かります。
さらに、平日のアクセスが多いということで、「統計学に興味があり、中でもRを利用している人」というよりは、
「勉強や仕事中にわからないことを調べ、本サイトに来てくれているのではないか」という推測が立ちます。
ということは、今後もいろいろな分析手法をできる限りわかりやすく、実際に使いやすいように記載していけば、ニーズにあった記事になるのではないでしょうか?
ということで、最近サボり気味でしたが、更新できるように頑張ります。(そうすればもう少し閲覧数上がるかな?笑)

ではでは。


コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA