ワードクラウド

  • ネット上のテキストや文書などを文字列解析して、そこにある単語の個数を数え、多い単語を目立つように、少ない単語を目立たないようにカンバスに配置して全体として雲のような形にしたり、ちょっと面白い形にしたりするのがワードクラウド
  • 文字列解析しなくても、単語と重みだけを指定すればOK
  • たとえば、エクセルで単語の列と重みの列の2列のファイルを作って(以下のような…)、クリップボードにコピーしてあるとする
ライフサイエンス	50
生物学	3
医学	5
薬学	3
農学	3
ゲノム	20
トランスクリプトーム	15
プロテオーム	10
メタボローム	8
フェノーム	88
電子カルテ	30
ITC	40
ネットワーク	30
データベース	30
ウェアラブルデバイス	8
音声	5
動画	9
シークエンシング	40
チップ	30
次元縮約	20
ネットワーク解析	40
パスウェイ	20
SNP	30
1細胞シークエンシング	20
臓器	10
組織	10
発生	15
癌	20

require(wordcloud)
require(RColorBrewer)
wf <- read.table("clipboard")

www <- unlist(wf[,1])
fff <- unlist(wf[,2])

ap.d <- data.frame(word=www,freq=fff)

table(ap.d$freq)
pal2 <- brewer.pal(8,"Dark2")
#png("wordcloud_packages.png", width=1280,height=1280)
wordcloud(ap.d$word,ap.d$freq, scale=c(8,.2),min.freq=3,
max.words=Inf, random.order=FALSE, rot.per=.15, colors=pal2)
#dev.off()
  • うまくフィットするか、とかまだちょっとわからない点がある…
生物学	3
医学	5
薬学	3
農学	3
ゲノム	15
トランスクリプトーム	10
プロテオーム	10
メタボローム	8
フェノーム	8
電子カルテ	10
ITC	10
ネットワーク	10
データベース	10
ウェアラブルデバイス	8
音声	5
動画	9
シークエンシング	10
チップ	10
次元縮約	10
ネットワーク解析	10
パスウェイ	8
SNP	9
1細胞シークエンシング	10
臓器	5
組織	5
発生	4
癌	5
ビッグデータ	20
マイクロ	8
ナノ	7
コンピュータ	15
多様性	20
博物学	2
分子生物学	6
手作業	5
自動化	10
DNA	7
遺伝子	8
コーディング遺伝子	5
エクソン	3
バリアント	7
STR	3
エクソーム	9
GWAS	8
癌ゲノム	8
エピゲノム	9
アナログ	3
デジタル	10
動き	8
インターネット	12
公共データベース	15
バイオインフォマティクス	15
健康科学	8
ゲノム疫学	5
データサイエンス	10
統計	10
データマイニング	8
因果推論	6
機械学習	7
診断支援ロボット	7
予後予測	6
リスク	8
数理科学	10
工学	8
情報学	6
ライフサイエンス	30
require(wordcloud)
require(RColorBrewer)
wf <- read.table("clipboard")

www <- unlist(wf[,1])
fff <- unlist(wf[,2])

ap.d <- data.frame(word=www,freq=fff*10)
# カウント数別のワード数集計表
table(ap.d$freq)

#png("wordcloud_packages.png", width=1280,height=1280)
wordcloud(ap.d$word,ap.d$freq,c(4,.1),1,,FALSE,.1)
  • カラーパレット指定

pal <- brewer.pal(9,"BuGn")
pal <- pal[-(1:4)]
wordcloud(ap.d$word,ap.d$freq,c(4,.1),2,,FALSE,,.15,pal)
  • 別のパレット

pal <- brewer.pal(6,"Dark2")
pal <- pal[-(1)]
wordcloud(ap.d$word,ap.d$freq,c(4,.1),2,,TRUE,,.15,pal)
  • ランダム色

		#random colors
wordcloud(ap.d$word,ap.d$freq,c(4,.1),2,,TRUE,TRUE,.15,pal)