RStudioアドベントカレンダー 25日のエントリーです。 RStudioでブログを書きたい RStudioは、Rmarkdownの登場以降、メキメキとドキュメント作成機能が充実していってます。私は、RやRStudioが大好きなので、可能な限り、RStudioと対面していたいのです。データ解析、論文作成、ウェルブサイトの構築・更新、今や全てRStudioで完結します (他の方とのやりとりがなければ…)。 前に、RStudioでウェブサイト構築が簡単にできるという僕の最も身近なRおじさん(@kazutan)のツイートみて、いじっていたらほんとに簡単にサイトが立ち上がってとても感動しました。 blogdownパッケージ その後、特に不満なくRStudioでサイトの管理をしていたのですが、業務上、何か自由にメモや告知をあげられる、ブログのような機能をつけられたらな、と思っていました。何気なくTLを眺めていると、また僕の身近なRおじさん(@kazutan)が、ぼやいてくれました。そして知りました、blogdownパッケージ。僕にとってkazutanは欲しいものを届けてくれる、そう、サンタクロースのような存在なのかもしれません。 以下では、順を追ってみていきます。 1 Githubでリポジトリ作る] 2 RStudioでリポジトリとリンク 3 RStudio上で, ブログサイト構築 4 config.tomlを修正し、俺サイトに 5 投稿チェック 6 出来上がったサイトをcommit push!! Githubでリボジトリを作る ブログをRStudioを通じてgithubで公開するために, Githubで新しいリポジトリ(Repository)を作成します。下の画像にあるように、Repositoriesタブをクリックして右端に現れる[New]ボタンを押します。 すると以下のページが登場するので、Repository nameに任意の名前を設定します。今回はmy_blogとしました。レポジトリ名を入力したら、一番下の[Create repository]ボタンを押します。 これで、ブログサイトのファイルをあげるためのレポジトリが出来ました。[https://github.com/アカウント名/レポジトリ名.git]をコピーしておきます。 これでgithubの準備は完了です。ここからはRStudioで作業をします。 RStudioでgithubレポジトリとリンク RStudioを立ち上げて[File]->[New Project]->[Version Control]->[Git]と進めます。 次のClone Git RepositoryのRepository URLの空欄に、先ほど作成しコビーした、ブログ用のレポジトリのアドレスを貼り付けます。下二つの空欄は、任意に指定します。 これでRStudio側も準備完了です。今、右下には、siteフォルダには、「site.Rproj」と「.gitignore」のみです。 RStudio上で, ブログサイト構築 RStudioでブログサイトを構築して管理するためのバッケージはblogdown(https://github.com/rstudio/blogdown)、開発者はRStudioドキュメント系の神、yihui(https://github.com/yihui)さんです。 blogdownパッケージ: インストール blogdownパッケージをgithubからインストールします。hugo のテーマを使うので、hugoをインストールします。hugoについては、この記事やこの記事が参考になります。 # blogdownのインストール devtools::install_github('rstudio/blogdown') # hugoのインストール library(blogdown) blogdown::install_hugo() この極めてシンプルな1行を実行して少し待つと… new_site() !!! ブログがある。RStudioの中にブログがある !!! ほぼ空だったフォルダが、 ブログサイト用のフォルダどっさりに!!!! ここまできたら、あとはテンプレートを自分のサイト用にカスタマイズしていきます。 編集・投稿 hello-world.Rmdは、「content」->「post」のフォルダ内にあります。これを編集すれば記事内容を編集できます。 元の設定から、 — title: "Hello World" author: "Frida Gomam" date: 2015-07-23T21:13:14-05:00 categories: ["R"] — タイトル、名前、投稿時間を変更し、カテゴリーを追加してみます。編集して保存をすると自動的に修正が反映されます。実は、new_site()関数を実行して出てきたRmdファイルをそのまま編集している場合は、ずっと、serve_site()関数が実行されている状態になっており、これによって、自動的に保存内容が反映されるようになっています。 — title: "今日はクリスマス" author: "ytake2" date: 2016-12-25T21:13:14-05:00 categories: ["R","RStudio","blogdown"] — 元のやつ 修正後は、タイトル、投稿者、投稿日が変わってますね。 カテゴリのタグもしっかりと追加されてます。 修正前 修正後 あとは、記事内容の修正は、普通にRmarkdownで好きなように書けばOKです。 新しい記事の投稿 新規の投稿をするには、postフォルダ内に新しい.Rmdファイルを入れてあげれば良いです。以下のようにコマンドを実行すると、postフォルダ内にRmdファイルが作成されます。このRmdファイルを編集すれば、新しい投稿記事の準備完了です。 new_content("post/newContent.Rmd") 新しい記事をブログサイトに上書きするために、serve状態を解除した後で(赤丸のstopボタンを押す)以下のコマンドを実行します。 build_site() # 編集内容を反映し統合 serve_site() # 反映内容を確認 新規の投稿記事が一番最初にきました。 このように、新しくRmdをpostフォルダに突っ込んでいくだけで、どんどんブログを更新できてしまうのです。たまりませんね。 config.tomlを修正し、俺サイトに hugoでは、.tomlでサイトの外観を設定していきます。「config.toml」ファイルを開きます。 以下のここを修正、と記した部分に自分好みの情報に書き換えます。 baseurl = "/" relativeurls = true languageCode = "en-us" title = "Hugo Future Imperfect" <-ここを修正 theme = "hugo-future-imperfect" preserveTaxonomyNames = true paginate = 3 disqusShortname = "shortname" googleAnalytics = "" [params] # Sets the meta tag description, usually reserved for the main page description = "HTML5 UP theme, Future Imperfect with some extra goodies, ported by Julio Pescador.
StanでLDA code{white-space: pre;} pre:not([class]) { background-color: white; } if (window.hljs && document.readyState && document.readyState === “complete”) { window.setTimeout(function() { hljs.initHighlighting(); }, 0); } h1 { font-size: 34px; } h1.title { font-size: 38px; } h2 { font-size: 30px; } h3 { font-size: 24px; } h4 { font-size: 18px; } h5 { font-size: 16px; } h6 { font-size: 12px; } .table th:not([align]) { text-align: left; } .main-container { max-width: 940px; margin-left: auto; margin-right: auto; } code { color: inherit; background-color: rgba(0, 0, 0, 0.04); } img { max-width:100%; height: auto; } .tabbed-pane { padding-top: 12px; } button.code-folding-btn:focus { outline: none; } $(document).ready(function () { window.buildTabsets(“TOC”); }); StanでLDA TakeR 2016-12-17T21:13:14-05:00 library(RWordPress) library(XMLRPC) library(RISmed) library™ library(wordcloud2) library(RColorBrewer) library(topicmodels) wordcloud この記事はStanアドカレ14日目のエントリーです。今回のテーマはwordcloud、LDAです。wordcloudはしたの図にあるように、文章中で出現頻度が高い単語を複数選び出し、その頻度に応じた大きさで図示する手法で、単語の出現頻度が視覚的に理解できて便利。なによりイケてる。RではテキストデータをCorpusやdataframeとして整えてあげれば(ここがくっそ面倒)、wordcloudやwordcloud2といったパッケージで簡単にwordcloudを作成できます。特にwordcloud2は、以下のようにカッコ良い感じに仕上げてくれます。wordcloud2では文字の上に単語をのせるlettorcloudも可能です。 {“x”:{“word”:[“bayesian”,“model”,“studi”,“differ”,“provid”,“high”,“estim”,“analysi”,“base”,“data”,“includ”,“compar”,“level”,“propos”,“approach”,“relationship”,“evalu”,“group”,“infer”,“inform”,“predict”,“signific”,“associ”,“develop”,“effect”,“find”,“identifi”,“measur”,“observ”,“sampl”,“analys”,“indic”,“relat”,“structur”,“time”,“understand”,“among”,“determin”,“distribut”,“exist”,“major”,“mani”,“number”,“perform”,“potenti”,“previous”,“speci”,“test”,“within”,“combin”,“import”,“likelihood”,“maximum”,“paramet”,“phylogenet”,“present”,“problem”,“sequenc”,“sever”,“activ”,“algorithm”,“appli”,“condit”,“control”,“evid”,“individu”,“limit”,“multipl”,“non”,“obtain”,“rate”,“recent”,“requir”,“risk”,“singl”,“support”,“system”,“three”,“valid”,“valu”,“addit”,“applic”,“area”,“assess”,“case”,“cluster”,“collect”,“complet”,“consist”,“demonstr”,“general”,“hypothesi”,“implement”,“known”,“mean”,“network”,“occur”,“respect”,“suggest”,“accuraci”,“challeng”,“common”,“current”,“diagnos”,“direct”,“exampl”,“experiment”,“fit”,“gene”,“genet”,“integr”,“morpholog”,“object”,“order”,“origin”,“paper”,“patient”,“popul”,“posit”,“rang”,“region”,“strategi”,“term”,“treatment”,“trial”,“uncertainti”,“variabl”,“abil”,“accur”,“adapt”,“analyz”,“avail”,“chang”,“charact”,“characterist”,“class”,“conclus”,“defin”,“describ”,“design”,“distanc”,“experi”,“exploit”,“featur”,“generat”,“higher”,“imag”,“improv”,“incorpor”,“insight”,“novel”,“optim”,“process”,“publish”,“random”,“recogn”,“remain”,“report”,“resolv”,“scale”,“sensit”,“simpl”,“sourc”,“state”,“statist”,“success”,“techniqu”,“tempor”,“account”,“address”,“assum”,“behavior”,“better”,“cell”,“character”,“citi”,“clade”,“clinic”,“code”,“comparison”,“complex”,“comput”,“consid”,“contribut”,“dataset”,“difficult”,“diverg”,“dna”,“due”,“dynam”,“evolut”,“evolutionari”,“follow”,“four”,“framework”,“function”,“genera”,“genus”,“health”,“independ”,“investig”,“learn”,“linear”,“long”,“outcom”,“phylogeni”,“possibl”,“probabl”,“reduc”,“regard”,“regress”,“reliabl”,“respons”,“select”,“signal”,“similar”,“simul”,“site”,“taxa”,“train”,“tree”,“variat”,“via”,“weight”,“wide”],“freq”:[45,26,26,21,21,20,19,18,18,18,18,17,17,17,16,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],“fontFamily”:“Segoe UI”,“fontWeight”:“bold”,“color”:“random-dark”,“minSize”:0,“weightFactor”:1.6,“backgroundColor”:“white”,“gridSize”:0,“minRotation”:-0.785398163397448,“maxRotation”:0.785398163397448,“shuffle”:true,“rotateRatio”:0.4,“shape”:“circle”,“ellipticity”:0.65,“figBase64”:null,“hover”:null},“evals”:[],“jsHooks”:[]} letterCloud(subset(term.f,freq>=3), word = "Stan", fontFamily = "Helvetica", wordSize=2, backgroundColor="white") {“x”:{“word”:[“bayesian”,“model”,“studi”,“differ”,“provid”,“high”,“estim”,“analysi”,“base”,“data”,“includ”,“compar”,“level”,“propos”,“approach”,“relationship”,“evalu”,“group”,“infer”,“inform”,“predict”,“signific”,“associ”,“develop”,“effect”,“find”,“identifi”,“measur”,“observ”,“sampl”,“analys”,“indic”,“relat”,“structur”,“time”,“understand”,“among”,“determin”,“distribut”,“exist”,“major”,“mani”,“number”,“perform”,“potenti”,“previous”,“speci”,“test”,“within”,“combin”,“import”,“likelihood”,“maximum”,“paramet”,“phylogenet”,“present”,“problem”,“sequenc”,“sever”,“activ”,“algorithm”,“appli”,“condit”,“control”,“evid”,“individu”,“limit”,“multipl”,“non”,“obtain”,“rate”,“recent”,“requir”,“risk”,“singl”,“support”,“system”,“three”,“valid”,“valu”,“addit”,“applic”,“area”,“assess”,“case”,“cluster”,“collect”,“complet”,“consist”,“demonstr”,“general”,“hypothesi”,“implement”,“known”,“mean”,“network”,“occur”,“respect”,“suggest”,“accuraci”,“challeng”,“common”,“current”,“diagnos”,“direct”,“exampl”,“experiment”,“fit”,“gene”,“genet”,“integr”,“morpholog”,“object”,“order”,“origin”,“paper”,“patient”,“popul”,“posit”,“rang”,“region”,“strategi”,“term”,“treatment”,“trial”,“uncertainti”,“variabl”,“abil”,“accur”,“adapt”,“analyz”,“avail”,“chang”,“charact”,“characterist”,“class”,“conclus”,“defin”,“describ”,“design”,“distanc”,“experi”,“exploit”,“featur”,“generat”,“higher”,“imag”,“improv”,“incorpor”,“insight”,“novel”,“optim”,“process”,“publish”,“random”,“recogn”,“remain”,“report”,“resolv”,“scale”,“sensit”,“simpl”,“sourc”,“state”,“statist”,“success”,“techniqu”,“tempor”,“account”,“address”,“assum”,“behavior”,“better”,“cell”,“character”,“citi”,“clade”,“clinic”,“code”,“comparison”,“complex”,“comput”,“consid”,“contribut”,“dataset”,“difficult”,“diverg”,“dna”,“due”,“dynam”,“evolut”,“evolutionari”,“follow”,“four”,“framework”,“function”,“genera”,“genus”,“health”,“independ”,“investig”,“learn”,“linear”,“long”,“outcom”,“phylogeni”,“possibl”,“probabl”,“reduc”,“regard”,“regress”,“reliabl”,“respons”,“select”,“signal”,“similar”,“simul”,“site”,“taxa”,“train”,“tree”,“variat”,“via”,“weight”,“wide”,“accord”,“acid”,“across”,“advantag”,“allow”,“amp”,“articl”,“benefit”,“best”,“bias”,“captur”,“coeffici”,“concentr”,“conclud”,“confirm”,“construct”,“contrast”,“correspond”,“criterion”,“cross”,“databas”,“date”,“decreas”,“deriv”,“despit”,“detect”,“divers”,“dose”,“drug”,“effici”,“elev”,“enhanc”,“establish”,“event”,“evolv”,“famili”,“focus”,“formul”,“full”,“gap”,“habitat”,“hierarch”,“human”,“increas”,“interpret”,“key”,“line”,“lineag”,“local”,“locat”,“lower”,“main”,“male”,“mitochondri”,“molecular”,“natur”,“negat”,“nuclear”,“oper”,“particip”,“period”,“plant”,“polymorph”,“posterior”,“power”,“precis”,“primari”,“procedur”,“produc”,“program”,“real”,“receiv”,“reconstruct”,“record”,“repres”,“represent”,“reveal”,“revis”,“robust”,“safeti”,“sister”,“size”,“small”,“specif”,“step”,“subject”,“superior”,“taxonom”,“threaten”,“threshold”,“tool”,“transfer”,“vari”,“versus”,“visual”,“acquisit”,“advanc”,“affect”,“age”,“alon”,“altern”,“although”,“appropri”,“approxim”,“atlant”,“basi”,“belong”,“brain”,“calcul”,“calibr”,“center”,“choic”,“classif”,“classifi”,“close”,“composit”,“connect”,“converg”,“copyright”,“correct”,“correl”,“corrobor”,“count”,“curv”,“daili”,“deep”,“degre”,“depend”,“detail”,“diagnosi”,“differenti”,“dimens”,“discrimin”,“discuss”,“diseas”,“east”,“efficaci”,“eight”,“employ”,“environment”,“expect”,“explain”,“explor”,“exponenti”,“extend”,“facilit”,“factor”,“fail”,“fast”,“five”,“futur”,“genom”,“given”,“global”,“goal”,“govern”,“greater”,“grow”,“growth”,“handl”,“highest”,“histori”,“ideal”,“impact”,“indirect”,“infect”,“intens”,“interest”,“intern”,“knowledg”,“latter”,“lead”,“logist”,“loss”,“made”,“manag”,“map”,“marker”,“match”,“meta”,“minim”,“miss”,“multi”,“necessari”,“nerv”,“node”,“numer”,“offer”,“onlin”,“overal”,“parsimoni”,“part”,“past”,“pattern”,“perceiv”,“physiolog”,“pool”,“practic”,“presenc”,“prevent”,“prior”,“probabilist”,“product”,“protect”,“protein”,“quantit”,“question”,“rapid”,“recognit”,“research”,“reserv”,“revers”,“scenario”,“second”,“sex”,“situat”,“solv”,“spatial”,“split”,“standard”,“stimulus”,“subsequ”,“symptom”,“therefor”,“total”,“trait”,“treat”,“uniqu”,“unit”,“valuabl”,“water”,“wherea”,“whether”,“without”,“year”],“freq”:[45,26,26,21,21,20,19,18,18,18,18,17,17,17,16,15,14,14,14,14,14,14,13,13,13,13,13,13,13,13,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3],“fontFamily”:“Helvetica”,“fontWeight”:“bold”,“color”:“random-dark”,“minSize”:0,“weightFactor”:4,“backgroundColor”:“white”,“gridSize”:0,“minRotation”:-0.785398163397448,“maxRotation”:0.785398163397448,“shuffle”:true,“rotateRatio”:0.4,“shape”:“circle”,“ellipticity”:0.65,“figBase64”:“data:image/png;base64,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BBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEECEC4BhBAAAEEEEAAAQQQQMA1AQIQ16jJCAEEEEAAAQQQQAABBAhAuAYQQAABBBBAAAEEEEDANQECENeoyQgBBBBAAAEEEEAAAQQIQLgGEEAAAQQQQAABBBBAwDUBAhDXqMkIAQQQQAABBBBAAAEE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R33e02LeM2iO3d3dJTLWoTGXc0yMe2Tj3/szMPExETLHPOo8t6Hry7k+t5vv+Zg7VCYgn15ztMTGBMcc8/m80aLbuvfo+l4CBAj8KSBANvhPwuPj4/LUkgmSCZN5NOXu7m419wrO5fPr69nzy/n+efRh3j9j7rmby9fXX3/++uu2t7e9o/EG/xnxo71dYP6CenNzs3p6YfDfjtm2DoyfXc7/Lz42W2DeK2Xu4JnL18fcZs7t4tzOffr06a9jXo+z/vwjTou72aJ+OgIECPQFBEjf1EYCBAgQIECAAAECBIKANyIMMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgoAACTDGBAgQIECAAAECBAj0BQRI39RGAgQIECBAgAABAgSCgAAJMMYECBAgQIAAAQIECPQFBEjf1EYCBAgQIECAAAECBIKAAAkwxgQIECBAgAABAgQI9AUESN/URgIECBAgQIAAAQIEgsB3eId6x+6yNZsAAAAASUVORK5CYII=“,“hover”:null},“evals”:[],“jsHooks”:[]} pubmedから論文情報をRStudioにぶち込む 上記のワードクラウドは、Pubmedでbayesianという検索用語でヒットした48本の英語論文のアブストラクトのテキストデータの単語の出現頻度に応じてプロットしたものです。以下のようにRISmedを用いると、Pubmedから簡単に論文情報を入手できます。 res <- EUtilsSummary("bayesian",#検索用語 type = "esearch", db = "pubmed", datetype = "pdat", mindate = 2014, #検索開始年 maxdate = 2017, #検索終了年 retmax = 50 #最高何件記録するか ) EUtilsSummary関数は検索演算子を発生させる関数になります。検索用語や検索開始、終了年を指定します。EUtilsGet関数で、論文情報を抜き出し格納します。そこからTitle情報を抜き出したいときはArticleTitle関数、アブストテキスト情報を抜き出したいときはAbstractText関数が使えます。 records = EUtilsGet(res) #論文情報の抜き出し pubmed_data <- data.frame(Title = ArticleTitle(records), Abstract = AbstractText(records)) こんな感じで論文のアブストテキストデータが抽出されました。今回は、この論文一つ一つのアブストテキストデータに対してトピックモデルの代表格であるLDAを適用し、それぞれの論文を潜在的なトピックにわりふって、トピックのまとまりごとにwordcloudを作ってやろう。というのが解析の目的になります。 #データを確認 library(knitr) kable(head(pubmed_data,10)) Title Abstract Molecular characterization and population structure study of cambuci: strategy for conservation and genetic improvement.