廿TT

譬如水怙牛過窓櫺 頭角四蹄都過了 因甚麼尾巴過不得

グラフ

Google アナリティクス:マルチチャネルレポートの図示(アトリビューション分析)

googleAnalyticsR を使ってコンバージョン経路レポートを集計する関数を書いた。pathanal.R · GitHub内部で dplyr を使っています。アトリビューション分析というのは明確な定義のある用語ではないと思うけど、直接コンバージョンのあったセッションだけでな…

ggplot2 で内訳を左から右に詳細化していく棒グラフ

ggplot2 でラザニアプロット(ある値以上の値を合算したヒートマップ) - 廿TT に引き続き、新しい geom を作ってみたくて geom_drilldown.R · GitHub を書きました。ggplot2 で内訳を左から右に詳細化していく棒グラフ(ツリーマップ?)です。{googleAnaly…

ggplot2 でラザニアプロット(ある値以上の値を合算したヒートマップ)

geom_lasagna.R · GitHub を書きました。ラザニアプロットというのは要は時系列データについてのヒートマップ(色付きテーブル)です(ラザニアプロット(fields パッケージの image.plot にちょっと一工夫) - 廿TT)。さて、Web 解析の分野ではよく「エン…

ggplot2 で二項分布の成功確率パラメータの信頼区間

ggplot2 で移動平均(stat_ma) - 廿TT に引き続き、二項分布のパラメータの信頼区間を描画する stat_binomCI を書いた。stat_binomCI.R · GitHubGoogle アナリティクスのデータで試してみる。ランディングページごとの直帰率の比較はこんな感じ。 library(g…

ggplot2 で移動平均(stat_ma)

Extending ggplot2 (Extending ggplot2(和訳) - Qiita)を読んで自分でも新しい stat を作ってみたくなったので、手始めに練習として移動平均を描画する関数 stat_ma を書いてみました。stat_ma.R · GitHub library(ggplot2) source("https://gist.github…

{googleAnalyticsR} {ggplot2} Crossbar plot で滞在時間の分布を比べる

Crossbar plot は次のような図です。これがなにを表すかは場合によります。今回は箱の上の辺にデータの75%点、真ん中の線に中央値、箱の下の辺に25%点を割り当てました。いわば退化した箱ひげ図です。次の図はあるランディングページを経由した訪問の、月ご…

{ggplot2} 集計済みデータのヴァイオリンプロット

データがこのようにすでに集計された状態で与えられたときに、複数カテゴリ間で分布を比較したい。 value A B 1 1 1 3 2 2 2 2 3 3 3 1 ヴァイオリンプロットが使えることがわかった。 library(cowplot) library(tidyr) data <- data.frame(value = 1:3, A =…

{googleAnalyticsR} {ggplot2} 内訳をドリルダウンしていく棒グラフ

ggplot2 で左から右に内訳をドリルダウンしていく棒グラフ(ツリーマップ?)を書きました。新規訪問で自然検索経由のデスクトップを利用している男性の25歳〜34歳のCVが多いことがわかります。ついで再訪問でソーシャル経由訪問のモバイルを利用している男…

R の treemapify パッケージで Google アナリティクスのデータをツリーマップに

ただパッケージ動かしてみたっていうだけなんですけど。インストール方法は GitHub - wilkox/treemapify: ggplot2 geoms for drawing treemaps に従ってください。ggplot の記法が使えて、facet とかできる点がいいと思いました。 #library(devtools) #inst…

R でシミュレーションする格子の上の SIR モデル

SIR モデルは感染症の流行過程のモデルで、詳しくは 感染症のモデル(SIRモデル)に入門した - 廿TT に書いた。あたらしい人工知能の教科書 プロダクト/サービス開発に必要な基礎知識作者: 多田智史,石井一夫出版社/メーカー: 翔泳社発売日: 2016/12/17メデ…

Google アナリティクスとサーチコンソールのデータをマージして使う

統計ソフト R から Google アナリティクスのデータを引っぱってこれるパッケージ googleAnalyticsR の使い方は、 googleAnalyticsR の使い方(Version:0.1.0) - 廿TT にざっと書いた。サーチコンソールのデータを引っぱってこれるパッケージ searchConsoleR…

かけ算九九の表をグラフにしてみました

library(dplyr) library(cowplot) kuku <-data_frame(left=rep(1:9,each=9),right=rep(1:9,9)) %>% mutate(ans=left*right) ggplot(kuku,aes(x=factor(left),y=factor(right)))+ geom_tile(aes(fill=ans))+ geom_text(aes(label=ans))+ scale_fill_continuou…

ggplot2 で欠けた円グラフ

久しぶりに円グラフを描きたくなった。100% に満たない量を表す欠けた円グラフ。 library(cowplot) dat<-data.frame(group=LETTERS[1:2],y=c(0.7,0.4)) ggplot(dat)+ geom_bar(aes(x=group,y=y*100),width=100,stat = "identity")+ ylim(c(0,100))+ facet_wr…

Google アナリティクスのインタレストカテゴリを平行座標プロットで再クラスタリング

インタレストカテゴリとは Google ではオンラインでの活動や購買行動からユーザーの興味・関心を推測して、ユーザーを分類しています。この分類は「インタレストカテゴリ」と呼ばれています。Google アナリティクスでは、インタレストカテゴリには「アフィニ…

(R+Google アナリティクス)エラーバーで信頼下限をプロット

場面設定 当サイトは女性の訪問者が少ないので、女性の訪問者を増やしたいと思っている。サイト作りの参考にしようと女性の新規訪問の割合が多いランディングページをリストアップしたい。そこで新規セッション率で降順にソートをかけると、セッション数10〜…

ラザニアプロット(fields パッケージの image.plot にちょっと一工夫)

このエントリは計算機統計学会第30回シンポジウムにおける兼田麻里奈、坂本亘両氏のご発表「ラザニアプロットを用いた経時データの視覚化」(https://www.jstage.jst.go.jp/article/jscssymo/30/0/30_177/_pdf)にインスパイアされたものです。時系列データ…

R {Nippon} パッケージのコロプレス図(塗り分け地図)に凡例をつける

全国最低賃金 地域別最低賃金の全国一覧 |厚生労働省 の表をプロットしてみる.カラーパレットには RColorBrewer パッケージを使います. library(rvest) library(dplyr) url1 <-"http://www.mhlw.go.jp/stf/seisakunitsuite/bunya/koyou_roudou/roudoukijun/…

R {arules} によるアソシエーション分析の結果をどうやったら見やすく表示できるか試行錯誤中

library(arules) library(cowplot) data("Adult") rules <- apriori(Adult, parameter = list(supp = 0.5,conf = 0.9,target = "rules",maxlen=2)) rules_lhs <-as(lhs(rules),"list") #条件部 rules_rhs <-as(rhs(rules),"list") #結論部 rules_lhs <- sapp…

(ggplot2)順位の入れ替わりプロット

なんと呼ぶのかわからないグラフ library(cowplot) set.seed(100) old <- data.frame(Group = "old", Rank = 1:5, Text = c("一郎","次郎","三郎","四郎","五郎")) new <- data.frame(Group = "new", Rank = sample(1:5), Text = c("一郎","次郎","三郎","四…

時系列で見て安定している KPI の探し方

要約 見よう見まねでぼくのブログの KPI を策定してみた。 折れ線グラフでスパイクをチェック 変動係数で散らばりをチェック 箱ひげ図で曜日効果をチェック 良き KPI とは KPI は時系列で見て安定していることが求められる。tokoroten 氏は KPI を乱高下させ…

R: 複数回答のアンケートのグラフの例

経緯 「新知事に優先して取り組んでほしい政策は「教育・子育て」が41・9%で最多」都知事に改憲阻止を求めている有権者などいないようである (゚⊿゚) 【東京都知事選 序盤情勢】https://t.co/TheBuRLRPV pic.twitter.com/NOWyQFxQSb— ano_ano (@ano_ano_an…

ggplot2 で接線場や方向場を描く

接線場 微分方程式の解の振る舞いをみるために接線場を描いてみる。以下で与えられるロジスティック方程式を考える。接線場は t-x 平面の各点に傾き の小さな線分を描いたものである。 logis <- function(t,x,a=1){ a*x*(1-x) } #点(t1,x1)を通り, 傾きが sl…

自殺者数の推移(原因・年代別)

自殺白書に関する報道は東京新聞と産経新聞で見出しの付け方が対照的だった。 東京新聞:若者と高齢者の自殺深刻 政府、16年版白書:社会(TOKYO Web) 自殺白書 「経済」理由の自殺半減 厚労省「法改正や法律相談の充実が奏功」 (産経新聞) - Yahoo!ニュー…

Alluvial diagram で Google アナリティクスのデータをプロットして遊ぼう

Alluvial diagram(アルビアルダイアグラム)をかんたんにプロットできる ggalluvial パッケージが、Rで解析:Alluvial diagramsをプロットしませんか「ggalluvial」パッケージ で紹介されていた。これを使ってみようと思う。 入口ページと出口ページ まずは…

気温・湿度と熱中症の危険度(暑さ指数)の表

厚生労働省:職場における熱中症の予防について より暑さ指数(WBGT)の表をプロットしてみた。 WBGT値 警戒水準 25℃未満 注意 25℃~28℃ 警戒 28℃~31℃ 厳重警戒 31℃以上 危 険 そろそろ熱中症に気をつけましょう。 library(pdftools) library(pipeR) librar…

Google アナリティクスデータから指標を偏差値化して記事を評価

偏差値好きな人多い印象あるけどぼくはあんまり好きじゃなかった。でもなんとなく Google アナリティクスデータで偏差値出してみたら、これはこれでけっこういいかも、と思った。次元(単位)のない量にして、複数の指標どうしを概観的に比較できる。セッシ…

犯罪の検挙率のグラフ(モザイクプロット)

犯罪統計資料(統計表一覧 政府統計の総合窓口 GL08020103)によると、平成28年1~2月の検挙率は35.2%でした。過半数の犯罪は検挙されていません。しかしこの数字はシンプソンのパラドックスめいたところがあって、犯罪のうち、凶悪犯、粗暴犯、知能犯、風…

貸借対照表のグラフ(コロプラ)

特に理由はないけれど、コロプラの貸借対照表を図示してみた。貸借対照表 | 業績・財務 | IR情報 | 株式会社コロプラ library(readxl) dat_row <-read_excel("~/Downloads/colopl_financialdata_201512.xlsx",9,skip=1) tmp <-dat_row[,-c(1,3:4)] colnames(…

Google アナリティクスデータの変化を検知するための CUSUM 管理図

問題 例えばソーシャルメディアで炎上してたりしたらサイトの訪問(セッション)数は伸びるだろう。セッション数を定点観測していればなんらかの異常があったときにすぐに対処できる……はずだ。Googleアナリティクスオタクの私が、毎日見ているたった1つのレ…

(R + Google アナリティクス)ランディングページの集客力推移のヒートマップ

多くの訪問を集める主要ページにはこういう施策、テールの部分を支える裾野ページにはこういう施策、といった具合に、ランディングページを層別にして対策を立てる場合を考えます。このとき、訪問(セッション)数全体の推移を見ただけでは、どの層がどう変…

twitteR でかんたんレピュテーション・マネジメント(評判分析)

レピュテーション・マネジメントとは twitteR が使えるようになった(twitteR を使えるようにするためのメモ(version 1.1.9) - 廿TT)のでかんたんな集計を行ってみます。レピュテーション・マネジメントとは企業や組織がみずからの評判を守るために行う活…

ggplot2 で Google アナリティクスデータの人口ピラミッド

下表のデータを人口ピラミッドの形で描いてみる。(もうちょっときれいに描ける人いそう。ご意見求む。) usergender userage bracket users female 18-24 628 female 25-34 1001 female 35-44 416 female 45-54 174 female 55-64 85 female 65+ 40 male 18-…

Google スプレッドシートで箱ひげ図

概要 Google スプレッドシートで箱ひげ図を作る方法を紹介します。 サンプルはこちら 箱ひげ図(2010・セ・リーグ) - Google スプレッドシート だれでもコピーして使い回しできると思います。箱ひげ図のなんたるかについては、 施策の効果をみんなで納得し…

[R]度数分布表を作って折れ線グラフで比較する

set.seed(1234) X <- rnorm(100,1,1) Y <- rnorm(100,3,1) Z <- rnorm(100,2,0.5) breaks <-seq(-5,7,by=1) plot(table(cut(Z,breaks)),type="b",col="royalblue",ylab="frequency") lines(table(cut(Y,breaks)),type="b",col="forestgreen") lines(table(cu…

[ggplot2]折れ線グラフを基準値の上下で塗りつぶす

library(ggplot2) ybar <- mean(lh) lh2 <- c(ybar,lh,ybar) df4plot <- data.frame(time=1:length(lh2), lh=lh2) df4plot$lower <- ifelse(lh2<=ybar,lh2,ybar) ggplot(df4plot,aes(x=time,y=lh)) + geom_line() + geom_polygon(aes(x=time, ymin=lower,yma…

(R + Google アナリティクス)ピボットテーブル感覚で探索的アクセス解析

課題設定 「当サイトでは、セッションは増加傾向にあるものの、リピーターが若干伸び悩み、ユーザーの定着に課題を感じている」ということにします。この課題をより具体的に把握するために、品質管理の七つ道具の一つ、層別を使います。 層別(スライシング…

(R + Google アナリティクス)スパークラインからはじめる探索的アクセス解析

はじめに 多くのWeb解析担当者という人たちは日々なにをやっているのでしょうか。おそらくみんな「注目すべき事象」と「その原因」を探しています。こういうとむずかしく感じるかもしれませんが、分解していくとその作業は単純です。「注目すべき事象」と「…

(R+Google アナリティクス)コロプレス図(塗り分け地図)

コロプレス図(塗り分け地図) R で地図上にデータを表示する方法はいろいろある。でもシェープファイルを用意しなきゃいけなかったりするのがめんどくさい。そんなときは choroplethr パッケージを使うのが楽でいいと思った。Google アナリティクスでは(た…

A/Bテストのパラドックス(?)のシミュレーション

はじめに A/Bテストツールというものがあります。これはWebページ(内のパーツ)を出し分けて、どっちがユーザーに使われやすいかというのを調べるツールです。有名なA/Bテストツールのひとつ『オプティマイズリー』を見てみます。このツールには下図のよう…

(R + Google アナリティクス)何ページ目でセッションから離脱するか。ファンネルグラフによる可視化。

ファンネルグラフ ユーザーの回遊傾向を見る際、Webアクセス解析の分野では直帰率が低く抑えられているかチェックすることが多いようです。直帰率という指標は、もともとのデータを「直帰」「直帰でない」という情報に要約したものです。実際には「直帰」、…

(R + Google アナリティクス)何ページ目でセッションから離脱するか。残存率の可視化。

生存曲線による残存率の可視化 ランディングページ(LP)を評価する際は、直帰率が低く抑えられているかをチェックすることがよく行われます。Google アナリティクスの管理画面から LP ごとの直帰率を見てみます。 http://abrahamcow.hatenablog.com/entry/2…

エクセルでドットプロット

ドットプロットをエクセルで作成する方法を紹介します。今回は 地域別最低賃金の全国一覧 |厚生労働省 のデータを例にとります。まず元データを入力。 まったく同じ行をもう一列作ります。 両方の列を選択して、「マーカー付き折れ線グラフ」を作成します。…

(R + Google アナリティクス)モザイクプロットでユーザーの構成比を把握

モザイクプロットの紹介 モザイクプロットはクロス集計表を図示するための統計グラフです。例えば2015年1月にこのブログにアクセスしたユーザーを、年代、性別ごとにクロス集計すると下表のようになります。 18-24 25-34 35-44 45-54 55-64 65+ female 292 4…

折れ線グラフに矢印を加える――利用と誤用

折れ線グラフ矢印問題 このような折れ線グラフがあったとします。このデータはエクセルの RAND 関数で作った乱数です。傾向を強調して分かりやすく見せたいがために、折れ線グラフに矢印を加えてプレゼンテーション、ドキュメンテーションを行うことがよくあ…

縦軸に目盛のないグラフ(インターネットもデータ分析も好きなぼくが、入社一年未満でWeb解析コンサルタントを辞めた理由)

主張 縦軸に目盛のない棒グラフや折れ線グラフを描くのはやめよう。 棒グラフ 以前の職場でよく見かけた棒グラフがこのようなものでした。これは万能棒グラフです。 2007-10-22 - 定義すれば存在する 目盛のベースラインが 0 スタートでなくてもいい 目盛線…

3D円グラフとともに滅するべき棒グラフの省略表現

本稿の主張 棒グラフをかくときは、縦軸をつけ、原点を 0 にしましょう。あと、大学の先生の教育面での取り組みがもっと評価される世の中になって欲しいです。 はじめに:ちゃんと叱ってくれる先生は評価しよう 3D円グラフ ふと思い立って「3D円グラフ」で検…

ロングテールSEOのためのパレート図の紹介と RGoogleAnalytics による実践

モチベーション ロングテールSEOとは 検索エンジンからのサイトへの訪問数を増やしたい場合、みんながいっぱい検索してる人気のあるキーワード(ビッグワード)からのアクセス数を稼ぐのは競合とか多くて大変。それよりも、ニッチなキーワード(複合キーワー…

原点がゼロでないグラフ、2軸のグラフ

前置き ここに書くことはすでに言い尽くされているような気がしますが、どうもなかなかご理解頂けていないようなので、改めてしつこく述べます。なんだこりゃ。TV屋は相変わらずヘボなグラフ作ってんな・・・・原点がゼロじゃないグラフを作るのはいいかげん…

RGoogleAnalytics で RFM 指標のヒストグラム

RFM 分析とは マーケティングの分野ではしばしば、 R(recency;リセンシー)直近の購買からの経過時間 F(frequency;フリクエンシー)観測期間中の購買回数 M(monetary;マネタリー)累計または平均購買金額 の 3 指標を見て優良顧客を識別することがある…

ぼくの考えたグラフ三原則

目次 Request for Comments(ご意見求む)の精神です。 良いグラフはフラットデザインである 良いグラフはものさしで測れる 良いグラフは色に頼りすぎない 1. 良いグラフはフラットデザインである ペンタッチの強弱はいらない 悪い例 https://www.facebook.c…