Rで解析:タグクラウド作成「tagcloud」パッケージの紹介

別名「ワードクラウド」と紹介されることもある「タグクラウド」の作成が可能な「tagcloud」パッケージを紹介します。本パッケージは、他のタグクラウド作成パッケージよりもコマンドが単純かと思います。

参考までに、2015年1月から6月に「からだにいいもの」への検索キーワードをGoogle Analyticsより取得しタグクラウドで表現するコマンドを紹介します。意外とアニメでの検索流入が多いです。アニメからRが広がらないか模索しています。

Google Analyticsとの連携は下記「目次」を参考ください。
https://www.karada-good.net/rgoogleanalyticsindex/

「tagcloud」パッケージのバージョンは0.6。R version 3.2.0でコマンドを確認しています。

実行コマンドに必要なパッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages(c("RGoogleAnalytics", "tagcloud"))

実行コマンドの紹介

詳細はコメント、過去記事ならびに各パッケージヘルプを確認してください。

#パッケージの読み込み
library("RGoogleAnalytics")
library("tagcloud")

###GoogleAnalyticsへのアクセス設定#####
#クライアントIDを設定
client.id <- "&#12463;&#12521;&#12452;&#12450;&#12531;&#12488;ID"

#&#12463;&#12521;&#12452;&#12450;&#12531;&#12488;&#12471;&#12540;&#12463;&#12524;&#12483;&#12488;&#12434;&#35373;&#23450;
client.secret <- "&#12463;&#12521;&#12452;&#12450;&#12531;&#12488;&#12471;&#12540;&#12463;&#12524;&#12483;&#12488;"

#&#12463;&#12521;&#12452;&#12450;&#12531;&#12488;ID&#12362;&#12424;&#12403;&#12471;&#12540;&#12463;&#12524;&#12483;&#12488;&#12398;&#12488;&#12540;&#12463;&#12531;&#12434;&#21462;&#24471;
oauth_token <- Auth(client.id, client.secret)

#&#12503;&#12525;&#12501;&#12449;&#12452;&#12523;id&#12434;&#34920;&#31034;
GetProfiles(oauth_token)

#&#12487;&#12540;&#12479;&#12434;&#21462;&#24471;&#12377;&#12427;&#12503;&#12525;&#12501;&#12449;&#12452;&#12523;id&#12434;&#35373;&#23450;
TableID <- "ga:&#12503;&#12525;&#12501;&#12449;&#12452;&#12523;id"

###&#21462;&#24471;&#24180;,&#26376;&#12434;&#35373;&#23450;#####
year <- 2015 #&#21462;&#24471;&#12375;&#12383;&#12356;&#24180;&#12434;&#35373;&#23450;
month <- 1:6 #&#21462;&#24471;&#12375;&#12383;&#12356;&#26376;&#12434;&#38283;&#22987;:&#32066;&#20102;&#12391;&#35373;&#23450;
########

#&#32368;&#36820;&#12375;&#29992;
###&#21462;&#24471;&#24180;,&#26376;&#12398;&#12505;&#12463;&#12488;&#12523;&#12434;&#20316;&#25104;#####
StartDate <- as.Date(paste(year, "-", formatC(head(month, 1), width = 2, flag="0"), "-01", sep = ""))
EndDate <- as.Date(paste(year, "-", formatC(tail(month, 1), width = 2, flag="0"), "-01", sep = ""))
########

##&#12461;&#12540;&#12527;&#12540;&#12489;&#12395;&#23550;&#12377;&#12427;&#12475;&#12483;&#12471;&#12519;&#12531;&#12354;&#12383;&#12426;&#12398;&#12506;&#12540;&#12472;&#12499;&#12517;&#12540;&#25968;&#12434;&#21462;&#24471;#####
Dimensions <- c("ga:keyword")
Metrics <- c("ga:pageviewsPerSession")

#&#21462;&#24471;&#12497;&#12521;&#12513;&#12540;&#12479;&#12398;&#35373;&#23450;
query.list <- Init(start.date = as.character(StartDate),
                      end.date = as.character(EndDate),
                      dimensions = Dimensions,
                      metrics = Metrics,
                      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;
AccessData <- GetReportData(query, oauth_token)

#&#12461;&#12540;&#12527;&#12540;&#12489;&#12395;&#23550;&#12377;&#12427;&#12475;&#12483;&#12471;&#12519;&#12531;&#12354;&#12383;&#12426;&#12398;&#12506;&#12540;&#12472;&#12499;&#12517;&#12540;&#25968;Top100&#12434;&#25277;&#20986;
AccessData <- head(AccessData[order(AccessData[, 2], decreasing = TRUE),], 100)

#&#33394;&#12398;&#35373;&#23450;
#&#12461;&#12540;&#12527;&#12540;&#12489;&#12395;&#23550;&#12377;&#12427;&#12475;&#12483;&#12471;&#12519;&#12531;&#12354;&#12383;&#12426;&#12398;&#12506;&#12540;&#12472;&#12499;&#12517;&#12540;&#25968;&#12434;&#22522;&#28310;
#&#23569;&#12363;&#12425;&#22810;&#12356;&#38918;&#12395;&#33394;&#12434;&#25351;&#23450;
palf <- colorRampPalette(c("red", "#a87963", "gray", "#4b61ba"))
colors <- smoothPalette(AccessData[, 2], palfunc = palf)

#Mac&#12391;&#12398;&#26085;&#26412;&#35486;&#25991;&#23383;&#21270;&#38450;&#27490;
par(family = "HiraKakuProN-W3")

#&#26222;&#36890;&#12395;&#12503;&#12525;&#12483;&#12488;
#algorithm&#12458;&#12503;&#12471;&#12519;&#12531;:"oval","fill","snake","random","list","clist"
#&#21021;&#26399;&#20516;&#12399;"oval"&#12391;&#12377;&#12290;
tagcloud(AccessData[, 1], weights = AccessData[, 2],
         col = colors, order = "size", algorithm = "oval")

#algorithm&#12458;&#12503;&#12471;&#12519;&#12531;:"clist"&#12434;&#35373;&#23450;
#&#12461;&#12540;&#12527;&#12540;&#12489;&#12395;&#23550;&#12377;&#12427;&#12475;&#12483;&#12471;&#12519;&#12531;&#12354;&#12383;&#12426;&#12398;&#12506;&#12540;&#12472;&#12499;&#12517;&#12540;&#25968;Top20
tagcloud(AccessData[, 1][1:20], weights = AccessData[, 2][1:20],
         col = colors[1:20], order = "size", algorithm = "clist")

出力例

・普通にプロット

tagFig1

・algorithmオプション:”clist”を設定

tagFig2

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

Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, This site earns income through qualifying sales.
タイトルとURLをコピーしました