RでGoogle Analytics:検索キーワードをタグクラウドでプロット

Rの解析に役に立つ記事
スポンサーリンク

検索キーワードをタグクラウドでプロットで出力するコマンドを作成しました。

サイトのidとトークンファイルの取得と保存方法は「RでGoogle Analyticsの目次」から「RGoogleAnalyticsパッケージ基本的な利用方法」を確認してください。

また、解析環境が整っていない場合は「解析の準備」の項目を確認してください。初心者でも実行できるようにまとめています。

解析コマンドなどのまとめはこちらから:RでGoogle Analyticsの目次


スポンサーリンク

MeCabのインストール

記事を参考にしてください。

Rでウェブ解析:テキストマイニングとタグクラウド


タグクラウドでプロットで出力するコマンド

#ライブラリの読み込み
library("RGoogleAnalytics")
library("XLConnect")
library("tcltk")
library("ggplot2")
library("RMeCab")
library("wordcloud")
library("RColorBrewer")

TableID <- "ga:&#12487;&#12540;&#12479;&#12434;&#21462;&#24471;&#12377;&#12427;&#12469;&#12452;&#12488;&#12398;id&#12434;&#20837;&#21147;"

#&#21462;&#24471;&#12497;&#12521;&#12513;&#12540;&#12479;&#12398;&#35373;&#23450;
query.list <- Init(start.date = "2014-12-01",
                      end.date = "2014-12-31",
                      dimensions = "ga:keyword",
                      metrics = "ga:users",
                      max.results = 10000,
                      table.id = TableID)

#&#21462;&#24471;&#12497;&#12521;&#12513;&#12540;&#12479;&#12540;&#12434;&#20966;&#29702;
query <- QueryBuilder(query.list)

#&#12487;&#12540;&#12479;&#12398;&#21462;&#24471;
keyWordData <- GetReportData(query, oauth_token)

#(not provided)&#12398;&#21066;&#38500;
keyWordData <- subset(keyWordData[, 1], "(not provided)" != keyWordData[, 1])

#(not set)&#12398;&#21066;&#38500;
keyWordData <- subset(keyWordData[, 1], "(not set)" != keyWordData[, 1])

#&#12518;&#12540;&#12470;&#12540;&#25968;&#12391;&#20006;&#12403;&#26367;&#12360;
CityData <- CityData[order(CityData[, 2], decreasing = TRUE), ]

###&#21336;&#35486;&#12398;&#20986;&#29694;&#25968;&#35373;&#23450;&#12290;3&#20197;&#19978;&#12391;&#12398;&#25277;&#20986;&#32080;&#26524;&#12392;&#12394;&#12426;&#12414;&#12377;&#12290;&#20986;&#29694;&#25968;&#12399;&#36969;&#26178;&#35519;&#25972;&#12375;&#12390;&#12367;&#12384;&#12373;&#12356;&#12290;#####
WordFreq <- 3
########

###&#21336;&#35486;&#35299;&#26512;######
res <- docMatrixDF(keyWordData, pos = c("&#21517;&#35422;", "&#24418;&#23481;&#35422;"))
res <- res[row.names(res)!= "[[LESS-THAN-1]]", ] #[[LESS-THAN-1]]&#12398;&#21066;&#38500;
resc <- res[row.names(res)!= "[[TOTAL-TOKENS]]", ]&#12288;#[[TOTAL-TOKENS]]&#12398;&#21066;&#38500;
########

###&#21336;&#35486;&#35299;&#26512;&#32080;&#26524;&#12434;&#12487;&#12540;&#12479;&#12501;&#12524;&#12540;&#12512;&#21270;#####
AnalyticsFileDoc <- as.data.frame(apply(resc, 1, sum)) #&#21336;&#35486;&#12398;&#20986;&#29694;&#29575;&#12434;&#38598;&#35336;
AnalyticsFileDoc <- subset(AnalyticsFileDoc, AnalyticsFileDoc[, 1] &gt;= WordFreq) #&#20986;&#29694;&#25968;&#12391;&#25277;&#20986;
colnames(AnalyticsFileDoc) <- "&#20986;&#29694;&#25968;" #&#34892;&#21517;&#12398;&#35373;&#23450;
########

###&#12479;&#12464;&#12463;&#12521;&#12454;&#12489;&#12398;&#12486;&#12461;&#12473;&#12488;&#12398;&#33394;&#12434;&#35373;&#23450;#####
Col <- brewer.pal(9, "BuGn") #&#25991;&#23383;&#33394;&#12398;&#25351;&#23450;
Col <- Col[-(1:3)] #&#35211;&#12420;&#12377;&#12367;&#34180;&#12356;&#33394;&#12434;&#21066;&#38500;
########

###&#12479;&#12464;&#12463;&#12521;&#12454;&#12489;&#12398;&#12503;&#12525;&#12483;&#12488;#####
#par(family = "HiraKakuProN-W3") #&#23455;&#34892;&#12391;MAC&#12398;&#25991;&#23383;&#21270;&#12369;&#38450;&#27490;
wordcloud(row.names(AnalyticsFileDoc), AnalyticsFileDoc[, 1], scale=c(6,.2),
          random.order = T, rot.per = .15, colors = Col)
########

出力されるプロット

Rplot01

少しでも、あなたのウェブや実験の解析が楽になりますように!!

タイトルとURLをコピーしました