廿TT

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

グラフ

R でアクションペインティング

R でジャクソン・ポロックっぽい絵を作る関数を公開しました。JacksonPollock.R · GitHub source("https://gist.githubusercontent.com/abikoushi/2e9bcb28f13fdc299065e82a66c6b5f5/raw/f4989f55f9c0b453410c9db5fcd13ec4df5a45c5/JacksonPollock.R") Jacks…

よく状態空間モデルの説明で出てくる図を tikz で書く

¥documentclass[dvipdfmx]{standalone} ¥usepackage{tikz} ¥usetikzlibrary{shapes, positioning,arrows,automata} ¥begin{document} ¥begin{tikzpicture}[->, auto,thick] ¥node[state, fill=gray, text=white] (a1) {$¥alpha_1$}; ¥node[state, fill=gray,…

[searchConsoleR]CUSUM管理図で掲載順位の変化点を半自動検出

Search Console ではページごとの平均掲載順位(position)のデータが取れるけど、順位の変動を見張るのは大変である。そこでCUSUM管理図の考え方を使って、変化点の検出を半自動化してやろう。CUSUM管理図については Google アナリティクスデータの変化を検…

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 アナリティクスのデータで試してみる。例1:ランディングページごとの直帰率の比較はこんな感じ。 lib…

ggplot2 で移動平均(stat_ma)

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

{googleAnalyticsR} {ggplot2} 何秒でユーザが離脱したか、残存率の図示

直帰率や平均滞在時間よりも詳しくエンゲージメントを把握したい場合、次の図がおすすめです。何秒目に何パーセントのセッションが継続しているかを知ることができます。ここでは新規訪問とリピーター訪問で層別していますが、ランディングページや流入経路…

{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 アナリティクスデータで偏差値出してみたら、これはこれでけっこういいかも、と思った。次元(単位)のない量にして、複数の指標どうしを概観的に比較できる。セッシ…