<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>日々是独想</title>
    <link>https://kazutan.github.io/blog/index.xml</link>
    <description>Recent content on 日々是独想</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>ja</language>
    <lastBuildDate>Tue, 10 Oct 2017 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://kazutan.github.io/blog/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>RStudio v1.1の新機能</title>
      <link>https://kazutan.github.io/blog/2017/10/rstudio-v1-1/</link>
      <pubDate>Tue, 10 Oct 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/10/rstudio-v1-1/</guid>
      <description>

&lt;p&gt;RStudio v1.1が正式にリリースされました。以下のサイトからダウンロードできます:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.rstudio.com/products/rstudio/download/&#34;&gt;https://www.rstudio.com/products/rstudio/download/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;故あって最近v1.1の新機能についてまとめていたので，ここでも紹介します。&lt;/p&gt;

&lt;h3 id=&#34;terminal実装&#34;&gt;Terminal実装&lt;/h3&gt;

&lt;p&gt;Terminal(端末)がRStudio上で使えるようになりました。UbuntuとかでRのパッケージ自体が別アプリに依存している場合、よくこのTerminalでapt installすることがあるのですが、それがRStudio上でできるようになりました。主な用途としては「RStudioServerを仮想環境とかで立ち上げたけどライブラリ不足して動かん…」を解消できます。&lt;/p&gt;

&lt;p&gt;詳細は以下を。&lt;br /&gt;
&lt;a href=&#34;https://blog.rstudio.com/2017/08/11/rstudio-v1-1-preview-terminal/&#34;&gt;https://blog.rstudio.com/2017/08/11/rstudio-v1-1-preview-terminal/&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&#34;data-connection機能が追加&#34;&gt;Data Connection機能が追加&lt;/h3&gt;

&lt;p&gt;MySQLやPostgreSQLにつなぐ際のコネクションなどが管理・利用できるようになりました。ちょっと癖はありますが、RDBをRで叩いている人には福音となるかもしれない機能です。&lt;/p&gt;

&lt;p&gt;詳細は以下を。&lt;br /&gt;
&lt;a href=&#34;https://blog.rstudio.com/2017/08/16/rstudio-preview-connections/&#34;&gt;https://blog.rstudio.com/2017/08/16/rstudio-preview-connections/&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&#34;object-explorer-が強化&#34;&gt;Object Explorer が強化&lt;/h3&gt;

&lt;p&gt;「Environment」タブで、リストオブジェクトに🔍アイコンがでるようになりました。これをクリックするとdata.frameなどと同じようにソースが表示されるのですが、それがlistのより深い層まで潜ってみれるようになってます。多分tidydataやpurrr関連でいい感じにしようとした結果だと思います。&lt;/p&gt;

&lt;p&gt;詳細は以下を。&lt;br /&gt;
&lt;a href=&#34;https://blog.rstudio.com/2017/08/22/rstudio-v1-1-preview-object-explorer/&#34;&gt;https://blog.rstudio.com/2017/08/22/rstudio-v1-1-preview-object-explorer/&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&#34;darkテーマが使えるように&#34;&gt;Darkテーマが使えるように&lt;/h3&gt;

&lt;p&gt;v1.1(の一時期)から(Pane内ではなく)RStudio自体にテーマ設定ができるようになりました。これによりDarkなテーマを設定するようなこともできます。&lt;/p&gt;

&lt;p&gt;詳細は以下を。&lt;br /&gt;
&lt;a href=&#34;https://blog.rstudio.com/2017/08/30/rstudio-dark-theme/&#34;&gt;https://blog.rstudio.com/2017/08/30/rstudio-dark-theme/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;もしくは、私が書いたブログ記事を。&lt;br /&gt;
&lt;a href=&#34;https://kazutan.github.io/blog/2017/05/rstudio-dark-theme/&#34;&gt;https://kazutan.github.io/blog/2017/05/rstudio-dark-theme/&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&#34;rstudio-server-pro-の新機能&#34;&gt;RStudio Server Pro の新機能&lt;/h3&gt;

&lt;p&gt;一応RStudio Blogに乗っていたのでリストアップしときます。Pro版使ったことないので挙げるだけで。&lt;/p&gt;

&lt;p&gt;詳細は以下を。&lt;br /&gt;
&lt;a href=&#34;https://blog.rstudio.com/2017/09/07/rstudio-rsp-1.1-features/&#34;&gt;https://blog.rstudio.com/2017/09/07/rstudio-rsp-1.1-features/&lt;/a&gt;&lt;/p&gt;

&lt;h3 id=&#34;その他の更新&#34;&gt;その他の更新&lt;/h3&gt;

&lt;p&gt;色んな要素が変更になってます。RStudio Blogの記事になっているのは以下を。&lt;br /&gt;
&lt;a href=&#34;https://blog.rstudio.com/2017/09/13/rstudio-v1.1---the-little-things/&#34;&gt;https://blog.rstudio.com/2017/09/13/rstudio-v1.1---the-little-things/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Gitまわりがかなり改良されていますし、&lt;a href=&#34;https://rstudio.github.io/rstudio-extensions/rstudio_project_templates.html&#34;&gt;Project Template&lt;/a&gt;は重要だと思います。&lt;/p&gt;

&lt;h3 id=&#34;留意事項&#34;&gt;留意事項&lt;/h3&gt;

&lt;p&gt;linux版でQtが5.4.2となっています。Ubuntuでそのままインストールした場合，Desktop版ではfcitxでは日本語が入力できません。あわしろいくやさんの以下の記事にあるとおりに対応すると，日本語入力ができるようになります:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://blog.goo.ne.jp/ikunya/e/48b3e547dd2b8c7cfbe2a8dadc0b962a&#34;&gt;Ubuntu 16.04 + Fcitx + RStudio 1.0.153以降で日本語を入力する方法 - いくやの斬鉄日記&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;細かいところでも色々更新されていますので，是非チェックしてみてください。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enjoy!&lt;/strong&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>2017年度後期。</title>
      <link>https://kazutan.github.io/blog/2017/09/17b-timetable/</link>
      <pubDate>Wed, 06 Sep 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/09/17b-timetable/</guid>
      <description>&lt;p&gt;もうすぐ始まるので，自分が把握するために恒例のを。面倒だから&lt;code&gt;knitr::kable()&lt;/code&gt;で。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr class=&#34;header&#34;&gt;
&lt;th align=&#34;left&#34;&gt;月曜日&lt;/th&gt;
&lt;th align=&#34;left&#34;&gt;火曜日&lt;/th&gt;
&lt;th align=&#34;left&#34;&gt;水曜日&lt;/th&gt;
&lt;th align=&#34;left&#34;&gt;木曜日&lt;/th&gt;
&lt;th align=&#34;left&#34;&gt;金曜日&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr class=&#34;odd&#34;&gt;
&lt;td align=&#34;left&#34;&gt;&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;学外非常勤&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;PC演習&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&#34;even&#34;&gt;
&lt;td align=&#34;left&#34;&gt;&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;PC演習&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;学外非常勤&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;PC演習&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&#34;odd&#34;&gt;
&lt;td align=&#34;left&#34;&gt;心理系講義&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;オフィスアワー&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;会議&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;検定指導&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&#34;even&#34;&gt;
&lt;td align=&#34;left&#34;&gt;ゼミ・卒研指導&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;1年ゼミ&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;PC相談担当&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;初年次科目&lt;/td&gt;
&lt;/tr&gt;
&lt;tr class=&#34;odd&#34;&gt;
&lt;td align=&#34;left&#34;&gt;心理系講義&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;調査系授業&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;PC演習&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;会議&lt;/td&gt;
&lt;td align=&#34;left&#34;&gt;検定指導&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;あと集中枠が2つに，日々学内業務など。&lt;a href=&#34;https://kazutan.github.io/blog/2017/04/17a-timetable/&#34;&gt;前期&lt;/a&gt;と変わらん…&lt;/p&gt;
&lt;p&gt;いつになったらまともになることやら。&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>6/24 #HijiyamaR 感想戦</title>
      <link>https://kazutan.github.io/blog/2017/06/6-24-hijiyamar-preview/</link>
      <pubDate>Sun, 25 Jun 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/06/6-24-hijiyamar-preview/</guid>
      <description>

&lt;p&gt;6/24に&lt;a href=&#34;https://atnd.org/events/87953&#34;&gt;Hijiyama.R #6&lt;/a&gt;を主催し、無事終えることができました。会場までお越しいただいた方々、およびUstで見ていただいたりTwitterなどで拡散していただいた方々、ありがとうございました。&lt;/p&gt;

&lt;p&gt;今回は調整失敗などあり，その結果9件の発表のうち7件が私がやるという事態になりました。なお、私がプレゼンに使用した資料は&lt;a href=&#34;https://kazutan.github.io/HijiyamaR6/&#34;&gt;こちら&lt;/a&gt;においています。&lt;/p&gt;

&lt;p&gt;こんな残念な状況だったのですが、参加してくれたみなさんや興味を持ってくださったみなさんには本当に感謝しております。ありがとうございました。自分が担当した発表について解説したほうがいいかなと思い，今回ここにメモを書こうと思いました。&lt;/p&gt;

&lt;h2 id=&#34;初心者セッション&#34;&gt;初心者セッション&lt;/h2&gt;

&lt;h3 id=&#34;データ操作&#34;&gt;データ操作&lt;/h3&gt;

&lt;p&gt;内容は&lt;a href=&#34;https://kazutan.github.io/kazutanR/data_handling.html&#34;&gt;Kazutan.Rのここの内容&lt;/a&gt;を説明しました。ただこの内容はdplyr0.7に対応させてなくて、&lt;code&gt;*_each&lt;/code&gt;を外してなかったんです…申し訳ありません。出来る限り早く修正します。&lt;/p&gt;

&lt;p&gt;発表の時には触れていたのですが、初心者セッションで一番大事なのはここだと思ってます。R初心者がほぼ間違いなく躓くのはここですし、逆にここを乗り切ればあとは分析用諸関数に流しこめばいいだけです。結果時間オーバーしましたが、むしろもっと説明したかったです。今後は工夫します。&lt;/p&gt;

&lt;p&gt;なお、私の中ではselectにまずなれて、filterとmutateに馴染んだあとにjoin系を習得し、gather&amp;amp;spreadを使えるようになれば十分だと思います。&lt;/p&gt;

&lt;h3 id=&#34;ggplotのオブジェクトから眺めてみる&#34;&gt;ggplotのオブジェクトから眺めてみる&lt;/h3&gt;

&lt;p&gt;今日のメインその1。Webでggplot2入門的なトピックは無数にありますが、どれも曖昧にしてたり触れてないような、そんなOne Pieceを埋めるために作成しました。資料は&lt;a href=&#34;https://kazutan.github.io/HijiyamaR6/intro_ggplot2.html&#34;&gt;こちら&lt;/a&gt;です。最近世間では私を「Rmdおじさん」としか認識してもらえてないですが、純粋なggplot2ユーザーですし、ggplot2逆引き記事の本数では負けません、はい。&lt;/p&gt;

&lt;p&gt;よく世間では「ggplot2は綺麗なグラフが描ける」とか述べていますが、それはずれていると思います。そもそもggplot2はRグラフィックスに整然としたgrammerを提供するもので、綺麗かどうかは描く個人次第です。本質はその構造だと考えるべきです。&lt;/p&gt;

&lt;p&gt;でもそうであるならば、その文法を理解することが必要であり、事実その文法的な構造を理解するとggplot2による描画が格段に楽になります。そういう思いを込めて今回の資料を作成しました。わりと自信作なので見てみてください。&lt;/p&gt;

&lt;p&gt;ただこれを「初心者セッション向け発表でいいのか」というツッコミはあると思いますし、自分も相当悩みました。でもこの内容は&lt;strong&gt;基礎&lt;/strong&gt;ですし、理解するタイミングはできるだけ早いほうがいいと思い、今回は初心者セッションで組み込むことにしました。&lt;/p&gt;

&lt;h2 id=&#34;通常発表&#34;&gt;通常発表&lt;/h2&gt;

&lt;h3 id=&#34;r-markdown-githubでモダンなwebサイト構築&#34;&gt;R Markdown + GitHubでモダンなWebサイト構築&lt;/h3&gt;

&lt;p&gt;以前，Fukuoka.Rで発表した，&lt;a href=&#34;https://kazutan.github.io/blog/2017/03/rmd-de-website/&#34;&gt;R MarkdownでWebサイト作成&lt;/a&gt;をベースに，そのサイトをGitHub Pagesでやってみようという内容です。スライドは&lt;a href=&#34;https://kazutan.github.io/HijiyamaR6/rmd_de_github_site.html#/&#34;&gt;こちら&lt;/a&gt;。&lt;/p&gt;

&lt;p&gt;Rmdによるサイト作成の具体的なところは省略し，GitHubで設置する際の注意事項と当日のデモンストレーションに重きを置きました。全段落で紹介した内容を参照してもらえれば大体つかめるのではないかと。&lt;/p&gt;

&lt;p&gt;一点だけ補足すると，&lt;code&gt;(アカウント名).github.io&lt;/code&gt;というリポジトリに設置した場合，&lt;strong&gt;docs/&lt;/strong&gt;を公開ディレクトリとして設定することはできませんでした。この場合，リポジトリのルートディレクトリに&lt;code&gt;index.html&lt;/code&gt;など必要なファイルを置く必要があります。したがって，&lt;code&gt;_site.yml&lt;/code&gt;で&lt;code&gt;output_dir: &amp;quot;.&amp;quot;&lt;/code&gt;と設定してください。それ以外のリポジトリ名なら&lt;code&gt;output_dir: &amp;quot;docs/&amp;quot;&lt;/code&gt;とするのが楽でしょう。&lt;/p&gt;

&lt;h3 id=&#34;r-markdownがやっていること&#34;&gt;R Markdownがやっていること&lt;/h3&gt;

&lt;p&gt;以前Tokyo.R #61の通常セッションで話した内容です。スライドは&lt;a href=&#34;https://kazutan.github.io/HijiyamaR6/intoTheRmarkdown.html&#34;&gt;こちら&lt;/a&gt;です。Tokyoでプレゼンした時は配信されておらず，今回は配信していたということもあって組み込んだのですが，&lt;strong&gt;時間が押してしまって3分で片付けることとなりました&lt;/strong&gt;。参加者でRmdを利用している方が一人しかいませんでしたしね…。&lt;/p&gt;

&lt;p&gt;自分としては思い入れのある内容で，これについてある程度踏み込んで解説しているのは私の知る限りほぼありません。ただ通常のR Markdownユーザーには過剰であるというのは否めません，はい。多分近々出ると言われているWonderful RのRmd本には組み込まれるのではと予想しています。&lt;/p&gt;

&lt;h2 id=&#34;lt&#34;&gt;LT&lt;/h2&gt;

&lt;h3 id=&#34;youtube-on-rstudio&#34;&gt;YouTube on RStudio&lt;/h3&gt;

&lt;p&gt;今回のメインその2。自分が開発した*tubeplayR*パッケージの紹介です。スライドは&lt;a href=&#34;https://kazutan.github.io/HijiyamaR6/intro_tubeplayR.html#/&#34;&gt;こちら&lt;/a&gt;です。またこのパッケージのGitHubリポジトリは&lt;a href=&#34;https://github.com/kazutan/tubeplayR&#34;&gt;こちら&lt;/a&gt;です。&lt;/p&gt;

&lt;h4 id=&#34;tubeplayr-の仕組み&#34;&gt;*tubeplayR*の仕組み&lt;/h4&gt;

&lt;p&gt;簡単に言うと，&lt;strong&gt;youtubeのurlからembet用タグを生成し，それをコンパクトなtemporalなhtmlファイルへと出力してViewerへ表示&lt;/strong&gt;しています。&lt;/p&gt;

&lt;p&gt;RStudioのViewerにhtmlファイルを出力させるにはtmpファイルでないといけませんし，きっちりやろうとするとかなり面倒です。そこで今回はShinyやRStudio Addinまわりで使われている*miniUI*パッケージと*htmltools*パッケージを組み合わせて実現しました。&lt;/p&gt;

&lt;p&gt;また，embed用タグを生成するにも*htmltools*の関数を活用し，urlの書換は普通に正規表現を使いました。youtubeのその辺りの仕組みを調べたらかなりシンプルだったので，そこまで難しくなかったです。あとはPaneいっぱいに広がるようにstyleを設定したり，プレイリストにも対応するように条件分岐を設定したくらいです。アイデアさえ出れば実装はわりとさくっといきました。&lt;/p&gt;

&lt;h4 id=&#34;限界と今後&#34;&gt;限界と今後&lt;/h4&gt;

&lt;p&gt;残念ながら，&lt;strong&gt;RStudioの実行環境によっては再生できず，そのままRStudioを固まらせます&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;RStudio Server版なら(おそらく)youtubeを再生できるブラウザで問題なく使えます。RStudio デスクトップ版のうち，WindowsとUbuntuでは動作しないのを確認しています。これはRStudio内に組み込まれているQt Webkit周りが原因だろうと推測してます。こうなるとパッケージレベルでは対応できません。Macはちょっと検証してないのでわからないですが，Mac版はQtに依存してないっぽいので，うまくいけば使えるかもしれません。&lt;/p&gt;

&lt;p&gt;今後としては，あまり時間的に余裕もないので機能追加はしなくてもいいかなと思ってます。ただ，APIを叩いて色々と情報を取得して，それを持ってこれるようにするというアイデアはあります。でも現在このような対応状況なので，このまま私+αな方々で楽しんでいければと。&lt;/p&gt;

&lt;h3 id=&#34;fullpagejsという新しいrmdテンプレを作った&#34;&gt;fullpagejsという新しいRmdテンプレを作った&lt;/h3&gt;

&lt;p&gt;これはGW中に山中湖開発合宿で取り組んだ成果で，自分が開発した*fullpagejs*パッケージの紹介です。スライドは&lt;a href=&#34;https://kazutan.github.io/HijiyamaR6/fullpagejs_intro.html&#34;&gt;こちら&lt;/a&gt;です。またこのパッケージのGitHubリポジトリは&lt;a href=&#34;https://github.com/kazutan/fullpagejs&#34;&gt;こちら&lt;/a&gt;です。&lt;/p&gt;

&lt;h4 id=&#34;fullpagejs-パッケージの特徴&#34;&gt;*fullpagejs*パッケージの特徴&lt;/h4&gt;

&lt;p&gt;R Markdownで&lt;a href=&#34;https://alvarotrigo.com/fullPage/&#34;&gt;fullpage.js&lt;/a&gt;をベースとしたhtmlを生成するための，R Markdown用テンプレートです。主な特徴は以下のとおりです:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;fullpage.jsでフルスクリーンでスライド式のhtmlドキュメント生成&lt;/li&gt;
&lt;li&gt;fullpage.jsの機能をほぼ利用可能&lt;/li&gt;
&lt;li&gt;標準で&lt;strong&gt;書式設定なし&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;jQuery + jQueryUIを利用可能&lt;/li&gt;
&lt;li&gt;使い方は通常のR Markdownとほぼ同一&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;使い方などは上述のスライドに記載しているのでそちらをご覧ください。&lt;/p&gt;

&lt;p&gt;標準で書式設定がないのは残念に感じるかもしれませんが，私としてはこれは重要なポイントだと思っています。通常のhtml_documentだとテンプレートに書式設定が組み込まれていたり，Bootstrapが組み込まれていたりしています。また*revealjs*パッケージなどスライド機能を提供するものでも，その多くがそれぞれ専用の書式設定がきっちり組み込まれている以上，かなりデザインでの制約を受けます。&lt;/p&gt;

&lt;p&gt;これらは&lt;strong&gt;デザインを意識せずドキュメント構造に注力できる&lt;/strong&gt;というR Markdownの最大メリットであると同時に大きな制約ともなるのです。これをどうにかして外したかったのですが，なんとか実現できました。&lt;/p&gt;

&lt;h4 id=&#34;限界と今後-1&#34;&gt;限界と今後&lt;/h4&gt;

&lt;p&gt;まず，ヘルプやドキュメントまわりが全く準備できていません。がんばります。。。&lt;/p&gt;

&lt;p&gt;あと，今後については以下のようなことを考えています:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;簡単なテーマ機能を準備&lt;/li&gt;
&lt;li&gt;less.jsを組み込む&lt;/li&gt;
&lt;li&gt;katexを組み込む&lt;/li&gt;
&lt;li&gt;fullpagejs_optionsを簡単に記述できるようにする&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;さきほどメリットとして書式設定がないことを強調したのですが，さすがにある程度簡便に提供すべきだなとは考えています。テーマはフォント設定あたりを準備する予定です。あとless.jsが思ったより簡単に実装できそうだったので近いうちにやります。なおless.jsが組み込めるようになると，R Markdownのデザインの幅および労力が格段に改善されます。&lt;/p&gt;

&lt;p&gt;数式については，これまでR Markdownではmathjaxを採用していましたが，このパッケージではmathjaxかkatexのどちらかを選択できるようにしたいです。またfullpage.jsの豊富な機能を簡単に設定できるよう，yamlまわりの処理を改善させたいです。&lt;/p&gt;

&lt;p&gt;これらが整備されたら，「ぼくのかんがえたさいきょうのRmd」みたいな感じになるんだけどなぁと考えてます。オサレなサイトも作れるようになりますし。でも一人ではしんどいので仲間(特にWebデザインに強い人)を募集しています。よろしくお願いします。&lt;/p&gt;

&lt;h3 id=&#34;webshotパッケージでwebをキャプチャ&#34;&gt;webshotパッケージでwebをキャプチャ&lt;/h3&gt;

&lt;p&gt;以前なにを思ったか調べて&lt;a href=&#34;https://kazutan.github.io/kazutanR/webshot_demo.html&#34;&gt;まとめていた&lt;/a&gt;内容を，LT用にスライドへ起こした内容です。スライドは&lt;a href=&#34;https://kazutan.github.io/HijiyamaR6/intro_webshot.html#/&#34;&gt;こちら&lt;/a&gt;です。&lt;/p&gt;

&lt;p&gt;スライド内容を見てもらえれば解ると思いますが，&lt;strong&gt;要するに告知()&lt;/strong&gt;です。でもこのパッケージはちゃんとしたもので，開発者はRStudioのメンバーの一人です。またhtmlwidgets系を使うなら一度は確認しておくのをおすすめします。&lt;/p&gt;

&lt;p&gt;最後の応用例については，ちょっとマニアックな気がしないでもないですが，こういう使い方もあるんだなと思ってもらえれば満足です。&lt;/p&gt;

&lt;h2 id=&#34;全体的な感想と次回のhijiyama-r&#34;&gt;全体的な感想と次回のHijiyama.R&lt;/h2&gt;

&lt;p&gt;この半年で取り組んできた内容を，これでもかと盛り込んだものでした。ただ&lt;strong&gt;正直疲れたししんどかった&lt;/strong&gt;。調整失敗もさることながら，地方のRコミュニティの一つとして色々考えました。悩みました。そして決断しました。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;次回のHijiyama.Rはおよそ半年後に開催します。そして次回がファイナルです&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;私の思いや考えについてはその時にしゃべるつもりなので，まだ言わないようにします。ぜひ多くの方に参加してもらえればと願っています。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enjoy!&lt;/strong&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>RStudioでDarkなテーマを当ててみる</title>
      <link>https://kazutan.github.io/blog/2017/05/rstudio-dark-theme/</link>
      <pubDate>Fri, 26 May 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/05/rstudio-dark-theme/</guid>
      <description>

&lt;p&gt;タイトルのとおりで，超Coolです．&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://kazutan.github.io/blog/img/rstudio-theme-modern-dark.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;

&lt;h2 id=&#34;要約&#34;&gt;要約&lt;/h2&gt;

&lt;p&gt;記事執筆時(2017/05/26)時点での導入方法を紹介しますす．以下の手順です:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;RStudio(or Server)のdaily build版を導入&lt;/li&gt;
&lt;li&gt;Tools -&amp;gt; Global Options&amp;hellip;を開く&lt;/li&gt;
&lt;li&gt;Appearanceで，**RStudio Theme: &lt;strong&gt;を&lt;/strong&gt;Modern**に切り替える&lt;/li&gt;
&lt;li&gt;そのすぐ下にある**Editor Theme: &lt;strong&gt;で&lt;/strong&gt;Dark系のテーマ**に切り替える&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;以上です．ネックになるのは1番で，あと4番がポイントになります．なお本記事執筆時点ではdaily build版を使用しています．安定版ではないので注意してください．&lt;/p&gt;

&lt;h2 id=&#34;rstudioのdaily-build版を導入&#34;&gt;RStudioのdaily build版を導入&lt;/h2&gt;

&lt;h3 id=&#34;rstudioの開発版について&#34;&gt;RStudioの開発版について&lt;/h3&gt;

&lt;p&gt;RStudioはGithubで開発が進められており，その開発状況を観察することができます．最新情報をチェックしたい方は，&lt;a href=&#34;https://github.com/rstudio/rstudio&#34;&gt;RStudioのGithubリポジトリ&lt;/a&gt;をWatchすると楽しいことでしょう．&lt;/p&gt;

&lt;p&gt;ちょっと前までRStudioは&lt;a href=&#34;https://www.rstudio.com/products/rstudio/download/preview/&#34;&gt;Preview版&lt;/a&gt;ということで提供していたのですが，v1.0.143(安定版と同一)以降は更新されていません．&lt;/p&gt;

&lt;p&gt;一方で，以前よりRStudioは毎日修正されたものを&lt;a href=&#34;https://github.com/rstudio/rstudio/releases&#34;&gt;日々tagをつけてbuild&lt;/a&gt;しています．buildしたイメージは，&lt;a href=&#34;https://dailies.rstudio.com/&#34;&gt;RStudio daily build&lt;/a&gt;としてサイトでまとめられています．ちょうどPreview版が更新されなくなったタイミングでこっちが綺麗に配備されたことから，おそらくはPreview版をリリースしていくのではなくdaily build版にその役目を移行したんだと思います．&lt;/p&gt;

&lt;h3 id=&#34;rstudioのdaily-build版の導入について&#34;&gt;RStudioのdaily build版の導入について&lt;/h3&gt;

&lt;p&gt;以上前置きですが，要するに&lt;strong&gt;このdaily buildのサイトから自分の環境にあったものを持ってくる&lt;/strong&gt;ことになります．通常のダウンロードページよりわかりやすくてきれいだから迷うことはないかと思います．イメージをダウンロードして，自分の環境でインストールすれば完了となります．&lt;/p&gt;

&lt;p&gt;ただ本当に気をつけてもらいたいのは，&lt;strong&gt;これはdaily buildなので安定性は担保されない&lt;/strong&gt;ということです．日々の開発状況を観察していると，毎日のようにbug fixが流れてきますので，本番の環境として利用するには結構なリスクを伴うと思ってください．&lt;/p&gt;

&lt;p&gt;個人的にはサンドバッキングな環境での試用をおすすめします．私はvagrantでubuntuを構築してそこで試しています&lt;sup class=&#34;footnote-ref&#34; id=&#34;fnref:1&#34;&gt;&lt;a rel=&#34;footnote&#34; href=&#34;#fn:1&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;．このあたりについては&lt;a href=&#34;http://qiita.com/kazutan/items/6048fa8d46683dcad788&#34;&gt;以前Qiitaにまとめた&lt;/a&gt;ので，そちらを参照してください．RStudio Server版ですが，RStudio Desktop版と基本変わりません&lt;sup class=&#34;footnote-ref&#34; id=&#34;fnref:2&#34;&gt;&lt;a rel=&#34;footnote&#34; href=&#34;#fn:2&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;．&lt;/p&gt;

&lt;p&gt;なぜdaily build版を利用するかというと，RStudioの全体テーマを変更できるのはごく最近のversionにしか対応していないからです．今回実行している環境は&lt;strong&gt;RStudio v1.1.243&lt;/strong&gt; です．またこれ以降のversionでは設定方法などの仕様が変更される可能性も(わりと大いに)あります．その点をご了承ください．&lt;/p&gt;

&lt;h2 id=&#34;rstudio-themeについて&#34;&gt;RStudio Themeについて&lt;/h2&gt;

&lt;p&gt;さて，いよいよ設定です．最先端のRStudioを起動すると，以下のようなインターフェースが出てきます:&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://kazutan.github.io/blog/img/rstudio-theme-modern-light.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;

&lt;p&gt;今までと雰囲気が違いますね．新しいデフォルトのテーマは&lt;strong&gt;modern&lt;/strong&gt;というもので，フラットデザインでアイコンとかも変更されてます&lt;sup class=&#34;footnote-ref&#34; id=&#34;fnref:3&#34;&gt;&lt;a rel=&#34;footnote&#34; href=&#34;#fn:3&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;．ではTheme切り替えに入ります．&lt;/p&gt;

&lt;h3 id=&#34;themeの切り替えと各種テーマ&#34;&gt;Themeの切り替えと各種テーマ&lt;/h3&gt;

&lt;p&gt;Themeを切り替えるのは，メニューの&lt;strong&gt;Tools -&amp;gt; Global Options&amp;hellip;&lt;/strong&gt;で行います．ここで&lt;strong&gt;Appearance&lt;/strong&gt;を開きます:&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://kazutan.github.io/blog/img/rstudio-theme-appearance.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;

&lt;p&gt;気付きましたでしょうか．これまでなかった&lt;strong&gt;RStudio Theme&lt;/strong&gt;というのが出てきています．ここには(このversionでは)3つのテーマがあります:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Classic

&lt;ul&gt;
&lt;li&gt;いわゆる従来までのテーマ&lt;/li&gt;
&lt;li&gt;以下の2つとは完全にタイプが違うため，RStudioの再起動が求められる場合があります&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Modern

&lt;ul&gt;
&lt;li&gt;新しいデフォルトのテーマ&lt;/li&gt;
&lt;li&gt;フラットデザインで，ちょっとしたトリックが仕込まれている(後述)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Sky

&lt;ul&gt;
&lt;li&gt;新しいテーマ&lt;/li&gt;
&lt;li&gt;空色をテーマにしたいい感じ&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Classicはこれまでと同様なので省略します．Skyを設定すると，以下のような感じになります:&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://kazutan.github.io/blog/img/rstudio-theme-sky.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;

&lt;p&gt;さて，どう見てもDarkっぽいのはありません．ちょっとした細工が必要です．&lt;/p&gt;

&lt;h3 id=&#34;theme-darkを設定&#34;&gt;Theme Darkを設定&lt;/h3&gt;

&lt;p&gt;modernテーマには面白いトリックがありまして，&lt;strong&gt;Editor themeが明るいテーマなら明るいテーマを，逆にEditor themeが暗いテーマなら暗いテーマへ変化する&lt;/strong&gt;という特徴があります．なので，通称「RStudio Dark」は，以下の条件を満たすと発動します:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;RStudio themeでModernを選択&lt;/li&gt;
&lt;li&gt;Editor themeで暗いテーマを選択&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;というわけで，Modern - Tomorrow Night Blue を選択した結果がこちらです:&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://kazutan.github.io/blog/img/rstudio-theme-modern-dark.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;

&lt;p&gt;こういう感じの仕様にしたのはわりと面白いなと思います．ただ，この件については執筆時でも超大物Rユーザー間でやり取りが行われています．ただこのDarkテーマ自体にはみんな喜んでいるので，設定方法は変わるとしても残るでしょう．&lt;/p&gt;

&lt;h2 id=&#34;雑感&#34;&gt;雑感&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;RStudio v1.1.xはよ&lt;/strong&gt;．&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enjoy!&lt;/strong&gt;&lt;/p&gt;
&lt;div class=&#34;footnotes&#34;&gt;

&lt;hr /&gt;

&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;Dockerでもいいんですが，さくっと自分用にサンドバッキングな環境を作るならvagrantのほうがいいなぁと最近思うようになりました．まあ半分以上は慣れですけど．Ansibleにはよ手を出したいです．
 &lt;a class=&#34;footnote-return&#34; href=&#34;#fnref:1&#34;&gt;&lt;sup&gt;[return]&lt;/sup&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;Server版とDesktop版の違いについては,個人利用としてはマルチセッションができないことぐらいです．個人的にはプラットフォームに左右されにくいということもあって状況によって使い分けてます．Ubuntuいいですよ．
 &lt;a class=&#34;footnote-return&#34; href=&#34;#fnref:2&#34;&gt;&lt;sup&gt;[return]&lt;/sup&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;もちろん他にもいろんな機能が追加されています．(個人的な)最大の目玉はTerminal Paneが組み込まれたことで，これが本当に便利です．その他の機能については，新しいversionが安定版としてリリースされた時に誰かが解説してくれると思います．誰かが()．
 &lt;a class=&#34;footnote-return&#34; href=&#34;#fnref:3&#34;&gt;&lt;sup&gt;[return]&lt;/sup&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>山中湖へ合宿に行ってパッケージ作ってきた</title>
      <link>https://kazutan.github.io/blog/2017/05/gasshuku/</link>
      <pubDate>Sun, 07 May 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/05/gasshuku/</guid>
      <description>

&lt;p&gt;進捗報告です．&lt;/p&gt;

&lt;p&gt;&lt;sup&gt;5&lt;/sup&gt;&amp;frasl;&lt;sub&gt;5&lt;/sub&gt;-7で「開発合宿@山中湖」( #合宿だゾウ )というタイトルで合宿をしてきました．イベントの内容については&lt;a href=&#34;https://atnd.org/events/87097&#34;&gt;こちらのATND&lt;/a&gt;を，またその様子については&lt;a href=&#34;https://twitter.com/hashtag/%E5%90%88%E5%AE%BF%E3%81%A0%E3%82%BE%E3%82%A6&#34;&gt;Twitterの#合宿だゾウ&lt;/a&gt;を覗いてみてください．&lt;/p&gt;

&lt;h2 id=&#34;企画に至る経緯について&#34;&gt;企画に至る経緯について&lt;/h2&gt;

&lt;p&gt;4月に入ってなれない業務が増えてしまい疲弊してしまい，Twitterで「引きこもってひたすら開発したい」とつぶやいたことが聞かっけでした．その時各方面から反応があり，また合宿に向いている施設も紹介されたので「やるしかないな」と判断し，ATNDを立てました．&lt;/p&gt;

&lt;p&gt;ゴールデンウィーク中で，すでに予定が入っている方も多いだろうから集まるか心配でしたが，結果的に12名も来てくださいました．ありがとうございましsた．&lt;/p&gt;

&lt;h2 id=&#34;合宿場所について&#34;&gt;合宿場所について&lt;/h2&gt;

&lt;p&gt;今回は参加者のある方のご紹介により，山梨県山中湖村の&lt;a href=&#34;http://y-tennisfriend.com/charter.html&#34;&gt;テニスフレンド別館9(貸切)&lt;/a&gt;を利用しました．懐かしさを感じる建物で居心地よく，またリーズナブルでWi-Fiもあるなど，まさにぴったりでした．ぜひみなさまもゼミ合宿などをお考えでしたらぜひご利用ください．ちょっと歩けば山中湖で，富士山の雄大な姿が拝めます:&lt;/p&gt;

&lt;p&gt;&lt;blockquote class=&#34;twitter-tweet&#34; data-lang=&#34;ja&#34;&gt;&lt;p lang=&#34;ja&#34; dir=&#34;ltr&#34;&gt;&lt;a href=&#34;https://twitter.com/u_ribo&#34;&gt;@u_ribo&lt;/a&gt; この雄大な自然を前にすれば、俺たちの進捗なんてちっぽけなもんさ… &lt;a href=&#34;https://twitter.com/hashtag/%E5%90%88%E5%AE%BF%E3%81%A0%E3%82%BE%E3%82%A6?src=hash&#34;&gt;#合宿だゾウ&lt;/a&gt;🐘 &lt;a href=&#34;https://twitter.com/hashtag/%E9%80%B2%E6%8D%97%E3%81%AF%E7%89%B9%E3%81%AB%E3%81%AA%E3%81%84%E3%81%A7?src=hash&#34;&gt;#進捗は特にないで&lt;/a&gt; &lt;a href=&#34;https://t.co/bUaLmwwZAB&#34;&gt;pic.twitter.com/bUaLmwwZAB&lt;/a&gt;&lt;/p&gt;&amp;mdash; Hiroaki Yutani (@yutannihilation) &lt;a href=&#34;https://twitter.com/yutannihilation/status/860607216138690560&#34;&gt;2017年5月5日&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;//platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;あと冬でなければバーベキューをおすすめします．おいしくてボリューム満点ですよ!&lt;/p&gt;

&lt;p&gt;&lt;blockquote class=&#34;twitter-tweet&#34; data-lang=&#34;ja&#34;&gt;&lt;p lang=&#34;ja&#34; dir=&#34;ltr&#34;&gt;もうすぐ。 &lt;a href=&#34;https://twitter.com/hashtag/%E5%90%88%E5%AE%BF%E3%81%A0%E3%82%BE%E3%82%A6?src=hash&#34;&gt;#合宿だゾウ&lt;/a&gt; &lt;a href=&#34;https://t.co/iWZ1khNzib&#34;&gt;pic.twitter.com/iWZ1khNzib&lt;/a&gt;&lt;/p&gt;&amp;mdash; kazutan v3.4.0 (@kazutan) &lt;a href=&#34;https://twitter.com/kazutan/status/860785913374294016&#34;&gt;2017年5月6日&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;//platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;&lt;blockquote class=&#34;twitter-tweet&#34; data-lang=&#34;ja&#34;&gt;&lt;p lang=&#34;ja&#34; dir=&#34;ltr&#34;&gt;肉を焼いたりひっくり返したりする宗教的儀式に参加しています。 &lt;a href=&#34;https://twitter.com/hashtag/%E5%90%88%E5%AE%BF%E3%81%A0%E3%82%BE%E3%82%A6?src=hash&#34;&gt;#合宿だゾウ&lt;/a&gt; &lt;a href=&#34;https://t.co/hoDgIryXnp&#34;&gt;pic.twitter.com/hoDgIryXnp&lt;/a&gt;&lt;/p&gt;&amp;mdash; N(σ x σ, μ) (@hoxo_m) &lt;a href=&#34;https://twitter.com/hoxo_m/status/860794924853100544&#34;&gt;2017年5月6日&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;//platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&lt;/p&gt;

&lt;h2 id=&#34;企画側からの感想&#34;&gt;企画側からの感想&lt;/h2&gt;

&lt;p&gt;オープンな募集であったため，すでにつながりがあるメンバーだけではなく，(私も含め)初対面の方も多くありました．でもみなさんいい方で，大きなトラブルもなくスケジュールをこなせました．今回幹事として気をつけたのは，&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;お金の管理&lt;/li&gt;
&lt;li&gt;できるだけ個々人がフリーに作業できること&lt;/li&gt;
&lt;li&gt;幹事を含め負担をできるだけ抑える&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;この3点ぐらいです．拙い幹事で申し訳ありませんでした．あと遅刻して申し訳ありませんでした．&lt;/p&gt;

&lt;h2 id=&#34;参加者からの感想&#34;&gt;参加者からの感想&lt;/h2&gt;

&lt;h3 id=&#34;到達目標&#34;&gt;到達目標&lt;/h3&gt;

&lt;p&gt;今回自分の達成目標としては「R Markdownのテンプレートパッケージを自作すること」でした．いままで小道具的なパッケージは作ったことありましたが，こういうのは初めてでした．またR Markdownのテンプレート用パッケージ作りにはR Markdownの内部的な処理を把握しておく必要があり，これまでコツコツと勉強してきたことをまとめて発揮できるいい機会だと思ったためです．&lt;/p&gt;

&lt;h3 id=&#34;進捗&#34;&gt;進捗&lt;/h3&gt;

&lt;p&gt;以下のとおりです:&lt;/p&gt;

&lt;p&gt;&lt;blockquote class=&#34;twitter-tweet&#34; data-lang=&#34;ja&#34;&gt;&lt;p lang=&#34;ja&#34; dir=&#34;ltr&#34;&gt;Rmdでスライドを作成する新しいパッケージfullpagejsを作りました &lt;a href=&#34;https://t.co/4RRdKFdlq5&#34;&gt;https://t.co/4RRdKFdlq5&lt;/a&gt; 紹介スライド→ &lt;a href=&#34;https://t.co/W2ovkPviX1&#34;&gt;https://t.co/W2ovkPviX1&lt;/a&gt; これのRmd → &lt;a href=&#34;https://t.co/erqmpkMDv4&#34;&gt;https://t.co/erqmpkMDv4&lt;/a&gt; &lt;a href=&#34;https://twitter.com/hashtag/%E5%90%88%E5%AE%BF%E3%81%A0%E3%82%BE%E3%82%A6?src=hash&#34;&gt;#合宿だゾウ&lt;/a&gt; Enjoy!&lt;/p&gt;&amp;mdash; kazutan v3.4.0 (@kazutan) &lt;a href=&#34;https://twitter.com/kazutan/status/861035786774257664&#34;&gt;2017年5月7日&lt;/a&gt;&lt;/blockquote&gt;
&lt;script async src=&#34;//platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;&lt;/p&gt;

&lt;p&gt;自分でもびっくりですが，実質1日で実装までいけました．確かに割と使いやすく，また参考になる他のパッケージの情報を得ていたというのはありますが信じられません．&lt;/p&gt;

&lt;p&gt;パッケージの内容については，上記ツイートのスライドを参照してください．なおこのパッケージの内容とrmarkdownのテンプレート開発関連のお話については，5/20に開催される&lt;a href=&#34;https://atnd.org/events/87878&#34;&gt;第61回R勉強会＠東京（#TokyoR）&lt;/a&gt;で話そうと思ってます．あとそれまでにドキュメント整備してもうちょっとこなれたものにしてアルファ版からベータ版くらいにはしとこうと思ってます．&lt;/p&gt;

&lt;h2 id=&#34;さいごに&#34;&gt;さいごに&lt;/h2&gt;

&lt;p&gt;今回の合宿は，私の思いつきにもかかわらず参加してくださった皆様をはじめ，現地でお世話になった方々や差し入れを送ってくださった方々，そしてまわりでハッシュタグを利用して盛り上げてくれた方々のおかげだと思ってますs．特に現地でお世話になった方々には本当にサポート・サービスしていただきました．&lt;/p&gt;

&lt;p&gt;この田を使いまして御礼申し上げます．ありがとうございました．&lt;/p&gt;

&lt;p&gt;今回蓄積したノウハウを活かし，また心が荒んできた頃に企画したいと思います．その際はぜひともよろしくお願いいたしますs．&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Rbindというプロジェクトが立ち上がったみたいです</title>
      <link>https://kazutan.github.io/blog/2017/04/whatis-rbindio/</link>
      <pubDate>Wed, 26 Apr 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/04/whatis-rbindio/</guid>
      <description>&lt;p&gt;2017/04/26の朝に，以下のようなツイートが届きました:&lt;/p&gt;
&lt;blockquote class=&#34;twitter-tweet&#34; data-lang=&#34;ja&#34;&gt;
&lt;p lang=&#34;ja&#34; dir=&#34;ltr&#34;&gt;
blogdown界の&lt;a href=&#34;https://t.co/cIRkAK63nC&#34;&gt;https://t.co/cIRkAK63nC&lt;/a&gt;的なものを目指してるらしい。おもしろそう。&lt;a href=&#34;https://twitter.com/kazutan&#34;&gt;&lt;span class=&#34;citation&#34;&gt;@kazutan&lt;/span&gt;&lt;/a&gt; さんの解説を待とう。 &lt;a href=&#34;https://t.co/aiEtH20kRE&#34;&gt;https://t.co/aiEtH20kRE&lt;/a&gt;
&lt;/p&gt;
— Hiroaki Yutani (&lt;span class=&#34;citation&#34;&gt;@yutannihilation&lt;/span&gt;) &lt;a href=&#34;https://twitter.com/yutannihilation/status/856995260479676416&#34;&gt;2017年4月25日&lt;/a&gt;
&lt;/blockquote&gt;
&lt;script async src=&#34;//platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;
&lt;p&gt;というわけで調べてみました。3行でまとめると以下のとおりです:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Yihuiが「blogdown使ってRユーザーでBindしようぜ」と&lt;a href=&#34;https://github.com/rbind&#34;&gt;Rbindio&lt;/a&gt;というOrganizationをGitHub上に準備&lt;/li&gt;
&lt;li&gt;「リポジトリをここに設置すれば簡単にブログやWebサイトを公開できるようにするよ」&lt;/li&gt;
&lt;li&gt;「ドメイン名がない? &lt;code&gt;*.rbind.io&lt;/code&gt;で準備できるよ!」&lt;/li&gt;
&lt;/ul&gt;
&lt;div id=&#34;rbind&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;Rbindとは&lt;/h2&gt;
&lt;p&gt;世の中にはWordPress.comのように，気軽にWebサイトやblogを設置できるサービスが存在します。これらを利用すれば楽に自分のサイトやブログを設置することが可能となります。しかしこれらは特定の会社によって提供されているものです。&lt;/p&gt;
&lt;p&gt;そこでYihuiを含んだ有志&lt;a href=&#34;#fn1&#34; class=&#34;footnoteRef&#34; id=&#34;fnref1&#34;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;によって「コミュニティによるこういったサービスを提供しようじゃないか」と準備されたのがこのRbindというプロジェクトのようです。&lt;/p&gt;
&lt;div class=&#34;section level3&#34;&gt;
&lt;h3&gt;理念的なもの&lt;/h3&gt;
&lt;p&gt;詳しくは&lt;a href=&#34;https://support.rbind.io/about/&#34;&gt;こちらのページ&lt;/a&gt;を参照してください。冒頭を引用します:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The goal of the Rbind project is to provide a service like WordPress.com or Medium, but driven by the community1 instead of a certain company. We hope users can help each other to build the websites they want. Currently most websites in this project are built using the blogdown package, but you are welcome to use other tools if you want.&lt;/p&gt;
&lt;p&gt;To make it easier to discover websites and get inspirations from other people’s websites, we created the Github organization “rbind” as a central place to host all websites. For example, if you are curious about how a particular website was built, you may study its source files, or even ask the author via Github issues.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;要点は以下の通り:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;コミュニティベースでWordPress.comみたいなサービスを提供したい&lt;/li&gt;
&lt;li&gt;Webサイトづくりにおいて，お互いに助け合いながらやっていきたい&lt;/li&gt;
&lt;li&gt;現状は&lt;code&gt;blogdown&lt;/code&gt;で作ってるのが多いけど，別に他のでも構わないよ!&lt;/li&gt;
&lt;li&gt;お互いのサイトを見つけたりインスピレーションが得られるよう，GitHubで&lt;strong&gt;rbind&lt;/strong&gt;という組織準備して，ここに集約してホスティングすることにしたよ
&lt;ul&gt;
&lt;li&gt;それぞれのサイトで興味がでたらソースコードみればいいし，分からなければGitHub issuesで聞けるよ&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;また，こちらのページも参考にしてください:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://support.rbind.io/2017/04/24/launching-rbind-support/&#34; class=&#34;uri&#34;&gt;https://support.rbind.io/2017/04/24/launching-rbind-support/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&#34;section level3&#34;&gt;
&lt;h3&gt;参加資格&lt;/h3&gt;
&lt;p&gt;まあわりとゆるい感じです。上述のページでの該当箇所を引用します:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We do not really have hard restrictions on what kind of websites we expect to see in Rbind, but we will certainly be happy to host websites related to R and/or statistics.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Rや統計に関連してるようなものなら大歓迎だよ!ということです。言語的な縛りについては…どうなんだろう?割とアリな気もするけど，だれかissuesに投げないかな。&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;section level3&#34;&gt;
&lt;h3&gt;参加方法&lt;/h3&gt;
&lt;p&gt;シンプルです。該当箇所を引用します&lt;a href=&#34;#fn2&#34; class=&#34;footnoteRef&#34; id=&#34;fnref2&#34;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you do not have a website yet, please file a Github issue and we can help you create one in the Rbind organization using blogdown, otherwise you can transfer your existing Github repo to Rbind. In either case, if you do not own a domain name, we can offer a subdomain *.rbind.io to you for free, and just let us know in your Github issue.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;要点は以下の通り:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;もしまだWebサイトを持ってないなら，issuesにその旨を送ってくれれば私たちが手伝うよ&lt;/li&gt;
&lt;li&gt;もうWebサイトを持ってるなら，そのGitHubリポジトリを移行(transfer)すればいいだけだよ&lt;/li&gt;
&lt;li&gt;ドメイン名がないのなら，&lt;code&gt;*.rbind.io&lt;/code&gt;のサブドメインをフリーで提供するよ&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;section level2&#34;&gt;
&lt;h2&gt;メリットとデメリット&lt;/h2&gt;
&lt;p&gt;ここからは私の主観的な判断ですので，ご了承ください。&lt;/p&gt;
&lt;div class=&#34;section level3&#34;&gt;
&lt;h3&gt;メリット&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;blogdownによるWebサイト/ブログの構築・設置において，コミュニティサポートが得やすくなる&lt;/dt&gt;
&lt;dd&gt;&lt;p&gt;このブログもblogdownで作っていますが，まだそれほど情報があるとは言えません。でもここに参加すれば，&lt;strong&gt;あのYihuiを含むコミュニティの方々からサポート&lt;/strong&gt;してもらいやすくなります。これ以上心強いものはないかもしれません。&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;ホスティングを気にせずWebサイト/ブログを準備できる&lt;/dt&gt;
&lt;dd&gt;&lt;p&gt;地味に面倒なのがこのあたりで，下手に自分でホスティングサービス探すよりも有効です。また自分がすでに有している独自ドメインも割当可能なので，サイトURLを変更せずに引っ越せます。&lt;/p&gt;
&lt;/dd&gt;
&lt;dt&gt;多くの人に見てもらえる，かも&lt;/dt&gt;
&lt;dd&gt;&lt;p&gt;これは完全に無根拠な予想なのですが，ある程度集まってきたら&lt;a href=&#34;https://rbind.io&#34;&gt;本家トップ(現在は404)&lt;/a&gt;が整備されて「新着記事一覧」とかジャンル別とかにまとめられたりするんじゃないかなと，WordPress.comのトップをみながら思ってます。そうなると公開した記事がより多くの人に読まれることになるでしょう。&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;/div&gt;
&lt;div class=&#34;section level3&#34;&gt;
&lt;h3&gt;デメリット&lt;/h3&gt;
&lt;dl&gt;
&lt;dt&gt;すでにあるリポジトリを引っ越すのが(ちょっとだけ)面倒&lt;/dt&gt;
&lt;dd&gt;&lt;p&gt;「もう運用してるしなぁ…引っ越す手続きもめんどくさい」と多少感じるかも。すでにblogdownで運用しているならそう感じるでしょう。余談ですがblogdownはHugoで生成してますが，WordPressからHugoに移行するためのWordPressプラグインは存在します&lt;a href=&#34;#fn3&#34; class=&#34;footnoteRef&#34; id=&#34;fnref3&#34;&gt;&lt;sup&gt;3&lt;/sup&gt;&lt;/a&gt;。&lt;/p&gt;
&lt;/dd&gt;
&lt;/dl&gt;
&lt;p&gt;多分こんなところです。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;section level2&#34;&gt;
&lt;h2&gt;まとめ&lt;/h2&gt;
&lt;p&gt;おそらくblogdownでこれから作っていくという方には，いい感じのサービスになるのではないでしょうか。なによりコミュニティ運用でこのようなサービスが立ち上がるというのは素敵だと思います。気になる方は気軽にissueで聞いてみてはいかがでしょうか。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enjoy!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;section level2&#34;&gt;
&lt;h2&gt;補足と参考資料&lt;/h2&gt;
&lt;p&gt;この&lt;a href=&#34;https://support.rbind.io/&#34;&gt;RBind Support&lt;/a&gt;では，blogdownのテクニカルサポート情報が挙げられていくそうです。なので&lt;strong&gt;blogdownユーザーは確実にチェックすることをおすすめします&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;参考資料:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://support.rbind.io/2017/04/24/launching-rbind-support/&#34;&gt;Launching the Rbind support website · Rbind Support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://support.rbind.io/2017/04/25/yihui-website/&#34;&gt;A Technical Introduction to Yihui&#39;s personal website · Rbind Support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://support.rbind.io/about/&#34;&gt;About Rbind Support · Rbind Support&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/rbind&#34;&gt;RBindio - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div class=&#34;footnotes&#34;&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id=&#34;fn1&#34;&gt;&lt;p&gt;Yihuiが発起人の一人だとは思いますが，本人からのメッセージを受け取ってるわけではないので確証は…でもRbindIO内リポジトリのContributorをチェックする限りほぼ間違いないでしょう。&lt;a href=&#34;#fnref1&#34;&gt;↩&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li id=&#34;fn2&#34;&gt;&lt;p&gt;この文には脚注およびリンクが含まれていましたがここでは省略します。詳しくは元ページを参照してください。&lt;a href=&#34;#fnref2&#34;&gt;↩&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li id=&#34;fn3&#34;&gt;&lt;p&gt;未検証なので深くは言及しませんが，私はそのうちこれを使って過去の記事を移行しようかと思ってます。ただ多分面倒なことになりそうなんだよなぁ…記事数多いし。&lt;a href=&#34;#fnref3&#34;&gt;↩&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>SpirographをShinyで書いてみた</title>
      <link>https://kazutan.github.io/blog/2017/04/spirograph-shiny/</link>
      <pubDate>Sat, 22 Apr 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/04/spirograph-shiny/</guid>
      <description>&lt;p&gt;今日 #tokyor に参加できなくて寂しかったから記事を書くことにしました。&lt;/p&gt;
&lt;div class=&#34;section level2&#34;&gt;
&lt;h2&gt;前置き&lt;/h2&gt;
&lt;p&gt;小さい頃,歯車がついた定規でその歯車に鉛筆を使ってぐるぐる回すと,不思議な模様が出てくるので遊んだことありませんか?&lt;/p&gt;
&lt;p&gt;私が子どもの頃にそれを手にし,すごく興奮してひたすら遊び倒してました。でもお気に入りのおもちゃほどよく壊れるもので,あえなく遊べなくなり,名前もわからずに30年ほど経過しました…&lt;/p&gt;
&lt;p&gt;そして先日ふと思い出し,「あれってサイクロイドみたいなやつだよな。てことは座標を数式で表現できるよね?ならRで描写できるんじゃね?」ということで調べました。&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;section level2&#34;&gt;
&lt;h2&gt;アレの数式について&lt;/h2&gt;
&lt;p&gt;サイクロイド媒介変数表示は以下の通り:&lt;/p&gt;
&lt;p&gt;&lt;span class=&#34;math display&#34;&gt;\[
\begin{cases}
x = a( \theta - \sin \theta) \\
y = a( 1 - \cos \theta) 
\end{cases}
\]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span class=&#34;math inline&#34;&gt;\(a\)&lt;/span&gt;は転がす円の半径,&lt;span class=&#34;math inline&#34;&gt;\(\theta\)&lt;/span&gt;は転がる円が回転した角度を表す。&lt;span class=&#34;math inline&#34;&gt;\(y\)&lt;/span&gt;成分は上下の振動で,&lt;span class=&#34;math inline&#34;&gt;\(x\)&lt;/span&gt;成分は回転した分の円周に振動がゆらぎとして乗っかっている。「横へ転がっている」というのがx成分に追加されているイメージ,かな。&lt;/p&gt;
&lt;p&gt;こんな感じで探していると,&lt;a href=&#34;https://ja.wikipedia.org/wiki/%E3%83%88%E3%83%AD%E3%82%B3%E3%82%A4%E3%83%89&#34;&gt;トコロイド&lt;/a&gt;というのを見つけた&lt;a href=&#34;#fn1&#34; class=&#34;footnoteRef&#34; id=&#34;fnref1&#34;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;。この内トコロイドこそ,探していたものだった…!&lt;/p&gt;
&lt;p&gt;てことで,数式はこんな感じ:&lt;/p&gt;
&lt;p&gt;&lt;span class=&#34;math display&#34;&gt;\[
\begin{cases}
x = (a - b)\cos \theta + p\cos\left(\frac{a-b}{b}\theta\right) \\
y = (a - b)\sin \theta - p\sin\left(\frac{a-b}{b}\theta\right)
\end{cases}
\]&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;なお,&lt;span class=&#34;math inline&#34;&gt;\(a\)&lt;/span&gt;は定円(外枠の円)の半径,&lt;span class=&#34;math inline&#34;&gt;\(b\)&lt;/span&gt;は動円(中で動いている円)の半径,&lt;span class=&#34;math inline&#34;&gt;\(p\)&lt;/span&gt;は描画点の半径,&lt;span class=&#34;math inline&#34;&gt;\(\theta\)&lt;/span&gt;は回転角とします。&lt;/p&gt;
&lt;p&gt;この式さえあれば,あとはRで描くなんて簡単です。&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&#34;r&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;アレをRで描く&lt;/h2&gt;
&lt;p&gt;てことで,以下のコードを書いてみました:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;# 数式のa, b, pを指定
a = 1
b = 0.3
p = 0.11

# 回転数とサンプリングする角度の間隔を指定
turn = 100
by = 0.01

# x, yを算出するためにthetaを準備
theta &amp;lt;- seq(from = 0, to = 2*pi*turn, by = by)

# 座標をdata.frameで生成
df &amp;lt;- data.frame(
  x = (a - b)*cos(theta) + (b-p)*cos((a-b)/b*theta),
  y = (a - b)*sin(theta) - (b-p)*sin((a-b)/b*theta)
)

# 取得した座標を線で結んでプロット
plot(df, type = &amp;quot;l&amp;quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;img src=&#34;https://kazutan.github.io/blog/blogpost/2017-04-22-spirograph-shiny_files/figure-html/unnamed-chunk-1-1.png&#34; width=&#34;672&#34; /&gt;&lt;/p&gt;
&lt;p&gt;いけました。これで&lt;code&gt;b&lt;/code&gt;と&lt;code&gt;p&lt;/code&gt;に指定する値を変更すると,いろんなもの描けます。&lt;strong&gt;30年振りの会合でした&lt;/strong&gt;。&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&#34;shiny&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;そうだShinyだ&lt;/h2&gt;
&lt;p&gt;ただ,このままだと毎回実行するのも面倒ですし,こういうのこそ簡単にパラメータいじってインタラクティブにしたいものです。&lt;/p&gt;
&lt;p&gt;そうです,Shinyです。もうserver側のコードはほぼできているので,あとはUIまわりを準備してやれば出来上がりとなります。てことで作りました:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/kazutan/Spirograph&#34;&gt;kazutan/Spirograph&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;昨日に30分でさくっと作ったのでかなり手抜きです。ちなみにこんな感じです:&lt;/p&gt;
&lt;blockquote class=&#34;twitter-tweet&#34; data-conversation=&#34;none&#34; data-lang=&#34;ja&#34;&gt;
&lt;p lang=&#34;ja&#34; dir=&#34;ltr&#34;&gt;
てことでさくっとShinyで作ってみた。超楽しい! &lt;a href=&#34;https://t.co/AW0TtdnFWG&#34;&gt;pic.twitter.com/AW0TtdnFWG&lt;/a&gt;
&lt;/p&gt;
— kazutan v3.3.3 (&lt;span class=&#34;citation&#34;&gt;@kazutan&lt;/span&gt;) &lt;a href=&#34;https://twitter.com/kazutan/status/855399890611970048&#34;&gt;2017年4月21日&lt;/a&gt;
&lt;/blockquote&gt;
&lt;script async src=&#34;//platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;
&lt;blockquote class=&#34;twitter-tweet&#34; data-lang=&#34;ja&#34;&gt;
&lt;p lang=&#34;ja&#34; dir=&#34;ltr&#34;&gt;
他を固定してbを0.59, 0.60, 0.61へと変化させたらこうなった。 &lt;a href=&#34;https://t.co/Uwr1tgDVfE&#34;&gt;pic.twitter.com/Uwr1tgDVfE&lt;/a&gt;
&lt;/p&gt;
— kazutan v3.3.3 (&lt;span class=&#34;citation&#34;&gt;@kazutan&lt;/span&gt;) &lt;a href=&#34;https://twitter.com/kazutan/status/855409680511676416&#34;&gt;2017年4月21日&lt;/a&gt;
&lt;/blockquote&gt;
&lt;script async src=&#34;//platform.twitter.com/widgets.js&#34; charset=&#34;utf-8&#34;&gt;&lt;/script&gt;
&lt;p&gt;なお,このキャプチャ画面の状態から,さらに&lt;code&gt;alpha&lt;/code&gt;というパラメータを追加していますが,これは全体の回転パラメータです。動かしたらすぐに理解できると思います。&lt;/p&gt;
&lt;p&gt;昨晩これをいろいろ弄ってたらあっという間に時間が過ぎてしまいました…よかったら遊んでください。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enjoy!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;footnotes&#34;&gt;
&lt;hr /&gt;
&lt;ol&gt;
&lt;li id=&#34;fn1&#34;&gt;&lt;p&gt;当初名前がわからなかったので,内サイクロイドから頭の中で考えて式を導いてた。まああってたからよかった。&lt;a href=&#34;#fnref1&#34;&gt;↩&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>dplyr::selectの活用例メモ</title>
      <link>https://kazutan.github.io/blog/2017/04/dplyr-select-memo/</link>
      <pubDate>Wed, 12 Apr 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/04/dplyr-select-memo/</guid>
      <description>&lt;p&gt;タイトルのとおりです。気分転換を兼ねてメモ。&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;library(dplyr)
#&amp;gt;  
#&amp;gt;   次のパッケージを付け加えます: &amp;#39;dplyr&amp;#39;
#&amp;gt;   以下のオブジェクトは &amp;#39;package:stats&amp;#39; からマスクされています: 
#&amp;gt;  
#&amp;gt;       filter, lag
#&amp;gt;   以下のオブジェクトは &amp;#39;package:base&amp;#39; からマスクされています: 
#&amp;gt;  
#&amp;gt;       intersect, setdiff, setequal, union&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;列位置を示す数値ベクトルを与えると，それ引っ張ってくる:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;select(iris, c(1, 4)) %&amp;gt;% head(3)
#&amp;gt;    Sepal.Length Petal.Width
#&amp;gt;  1          5.1         0.2
#&amp;gt;  2          4.9         0.2
#&amp;gt;  3          4.7         0.2&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;starts_with()&lt;/code&gt;などの&lt;strong&gt;select_helpers&lt;/strong&gt;関数群は，要するに列位置を表す数値ベクトルを返してくる:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;starts_with(&amp;quot;s&amp;quot;, vars = names(iris))
#&amp;gt;  [1] 1 2 5
ends_with(&amp;quot;s&amp;quot;, vars = names(iris))
#&amp;gt;  [1] 5
contains(&amp;quot;se&amp;quot;, vars = names(iris))
#&amp;gt;  [1] 1 2
matches(&amp;quot;^.e&amp;quot;, vars = names(iris))
#&amp;gt;  [1] 1 2 3 4
one_of(c(&amp;quot;Sepal.Length&amp;quot;, &amp;quot;Species&amp;quot;), vars = names(iris))
#&amp;gt;  [1] 1 5
everything(vars = names(iris))
#&amp;gt;  [1] 1 2 3 4 5&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ちなみに引数の&lt;code&gt;vars&lt;/code&gt;はデフォルトでは&lt;code&gt;vars = current_vars()&lt;/code&gt;となっており，&lt;code&gt;select()&lt;/code&gt;などの中で使うと自動的に&lt;code&gt;.data&lt;/code&gt;引数に指定してあるデータセットから変数名リストを取得してくるというもの。なので&lt;code&gt;select()&lt;/code&gt;内で指定しなくてもいい感じにしてくれる。&lt;/p&gt;
&lt;p&gt;変数をselectする際，名前付きで指定すると変数名を変更してくれてピックアップしてくる:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;select(iris, kosaki = 5, Sepal.Length) %&amp;gt;% head(3)
#&amp;gt;    kosaki Sepal.Length
#&amp;gt;  1 setosa          5.1
#&amp;gt;  2 setosa          4.9
#&amp;gt;  3 setosa          4.7&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;これが地味に強力で，以下のようなことも可能:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;select(iris, kosaki = 1:3) %&amp;gt;% head(3)
#&amp;gt;    kosaki1 kosaki2 kosaki3
#&amp;gt;  1     5.1     3.5     1.4
#&amp;gt;  2     4.9     3.0     1.4
#&amp;gt;  3     4.7     3.2     1.3
select(iris, kosaki = starts_with(&amp;quot;s&amp;quot;)) %&amp;gt;% head(3)
#&amp;gt;    kosaki1 kosaki2 kosaki3
#&amp;gt;  1     5.1     3.5  setosa
#&amp;gt;  2     4.9     3.0  setosa
#&amp;gt;  3     4.7     3.2  setosa&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;数値ベクトルで指定できるんだから，こういうことだって可能:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;select(iris, length(current_vars()):3) %&amp;gt;% head(3)
#&amp;gt;    Species Petal.Width Petal.Length
#&amp;gt;  1  setosa         0.2          1.4
#&amp;gt;  2  setosa         0.2          1.4
#&amp;gt;  3  setosa         0.2          1.3&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;current_vars()&lt;/code&gt;を使う理由は，pipeプロセス中で，この時点での変数リストを持ってきたいから。この方が応用できるんで。&lt;/p&gt;
&lt;p&gt;変数の並びを入れ替えたい場合，お約束としては&lt;code&gt;everything()&lt;/code&gt;を活用する:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;select(iris, 1, 5, everything()) %&amp;gt;% head(3)
#&amp;gt;    Sepal.Length Species Sepal.Width Petal.Length Petal.Width
#&amp;gt;  1          5.1  setosa         3.5          1.4         0.2
#&amp;gt;  2          4.9  setosa         3.0          1.4         0.2
#&amp;gt;  3          4.7  setosa         3.2          1.3         0.2&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;あとはorderとかも使える:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;select(iris, order(current_vars())) %&amp;gt;% head(3)
#&amp;gt;    Petal.Length Petal.Width Sepal.Length Sepal.Width Species
#&amp;gt;  1          1.4         0.2          5.1         3.5  setosa
#&amp;gt;  2          1.4         0.2          4.9         3.0  setosa
#&amp;gt;  3          1.3         0.2          4.7         3.2  setosa&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;select()&lt;/code&gt;だと，多分こんな感じ。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;rename()&lt;/code&gt;は関数名につられて「変数名を変更する関数」と思われがちだけど，&lt;code&gt;select()&lt;/code&gt;との比較で考えたほうが適切。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;select()&lt;/code&gt;はヒットした変数を取り出す(もしくは名前を変更)して，それ以外を除外する。一方&lt;code&gt;rename()&lt;/code&gt;は基本&lt;code&gt;select()&lt;/code&gt;と同じ動きをして，ヒットしなかった変数を残す(後ろに回す)。内部的には&lt;code&gt;select()&lt;/code&gt;で変数ピックアップするときに，特に指定していない場合は変数名と同じ文字列を名前として付与して，それを適用してるみたい。&lt;code&gt;rename()&lt;/code&gt;はこの後に変数をドロップしないように残ったものを拾っているみたいで，そこが違いみたい。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;select_all()&lt;/code&gt;を使ってみる。HelpのExampleより:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;select_all(mtcars, toupper) %&amp;gt;% head(3)
#&amp;gt;                 MPG CYL DISP  HP DRAT    WT  QSEC VS AM GEAR CARB
#&amp;gt;  Mazda RX4     21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
#&amp;gt;  Mazda RX4 Wag 21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
#&amp;gt;  Datsun 710    22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
select_all(mtcars, &amp;quot;toupper&amp;quot;) %&amp;gt;% head(3)
#&amp;gt;                 MPG CYL DISP  HP DRAT    WT  QSEC VS AM GEAR CARB
#&amp;gt;  Mazda RX4     21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
#&amp;gt;  Mazda RX4 Wag 21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
#&amp;gt;  Datsun 710    22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
select_all(mtcars, funs(toupper(.))) %&amp;gt;% head(3)
#&amp;gt;                 MPG CYL DISP  HP DRAT    WT  QSEC VS AM GEAR CARB
#&amp;gt;  Mazda RX4     21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
#&amp;gt;  Mazda RX4 Wag 21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
#&amp;gt;  Datsun 710    22.8   4  108  93 3.85 2.320 18.61  1  1    4    1&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;全ての変数名に対して関数が適用される，という感じ。それはいいんだけど，&lt;code&gt;rename_all()&lt;/code&gt;も存在する。この2つ，微妙にコードは違うんだけど，使い分けることってあるのかな…。浮かばない。&lt;/p&gt;
&lt;p&gt;次に&lt;code&gt;select_at()&lt;/code&gt;を使ってみる。これは，第二引数である&lt;code&gt;.vars&lt;/code&gt;に残す変数を指定して，&lt;code&gt;.fun&lt;/code&gt;引数で変数名を処理する関数を指定するという動き。&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;select_at(iris, c(&amp;quot;Sepal.Length&amp;quot;, &amp;quot;Petal.Length&amp;quot;), .funs = toupper) %&amp;gt;% head(3)
#&amp;gt;    SEPAL.LENGTH PETAL.LENGTH
#&amp;gt;  1          5.1          1.4
#&amp;gt;  2          4.9          1.4
#&amp;gt;  3          4.7          1.3
select_at(iris, vars(starts_with(&amp;quot;s&amp;quot;)), .funs = toupper) %&amp;gt;% head(3)
#&amp;gt;    SEPAL.LENGTH SEPAL.WIDTH SPECIES
#&amp;gt;  1          5.1         3.5  setosa
#&amp;gt;  2          4.9         3.0  setosa
#&amp;gt;  3          4.7         3.2  setosa&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;.var&lt;/code&gt;には，変数名の文字列ベクトルならそのまま，列番号なら&lt;code&gt;vars()&lt;/code&gt;で挟み込む必要があるみたい。なお&lt;code&gt;.funs&lt;/code&gt;引数を省略すると現在の変数名をそのまま渡すので変数名は変わらず:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;select_at(iris, vars(starts_with(&amp;quot;s&amp;quot;))) %&amp;gt;% head(3)
#&amp;gt;    Sepal.Length Sepal.Width Species
#&amp;gt;  1          5.1         3.5  setosa
#&amp;gt;  2          4.9         3.0  setosa
#&amp;gt;  3          4.7         3.2  setosa&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;使い方としてはこっちがメイン，かな? なお&lt;code&gt;rename_at()&lt;/code&gt;関数もある:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;rename_at(iris, vars(starts_with(&amp;quot;s&amp;quot;)), .funs = toupper) %&amp;gt;% head(3)
#&amp;gt;    SEPAL.LENGTH SEPAL.WIDTH Petal.Length Petal.Width SPECIES
#&amp;gt;  1          5.1         3.5          1.4         0.2  setosa
#&amp;gt;  2          4.9         3.0          1.4         0.2  setosa
#&amp;gt;  3          4.7         3.2          1.3         0.2  setosa&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;.var&lt;/code&gt;引数で選択した変数に対して&lt;code&gt;.funs&lt;/code&gt;引数で指定した変数名変更用関数を適用し，残りはそのまま持ってくる，という仕事をする。こっちは変数名を変更することが前提なので，&lt;code&gt;.funs&lt;/code&gt;を指定しないとエラーで怒られる。これまでの挙動を考えると納得いかない…。&lt;/p&gt;
&lt;p&gt;最後に&lt;code&gt;select_if()&lt;/code&gt;を使ってみる。これは，第二引数である&lt;code&gt;.predicate&lt;/code&gt;に関数を準備し，各変数をこの関数に当てていく。そして&lt;code&gt;TRUE&lt;/code&gt;を返した関数を残す(選択する)，という仕事をする。ベタな例を以下に:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;select_if(iris, is.numeric) %&amp;gt;% head(3)
#&amp;gt;    Sepal.Length Sepal.Width Petal.Length Petal.Width
#&amp;gt;  1          5.1         3.5          1.4         0.2
#&amp;gt;  2          4.9         3.0          1.4         0.2
#&amp;gt;  3          4.7         3.2          1.3         0.2&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;各変数に&lt;code&gt;is.numeric&lt;/code&gt;を適用し，&lt;code&gt;TRUE&lt;/code&gt;(つまり数値の変数)だけを取り出してる。なお，関数を自作して適用するのも可能:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;f &amp;lt;- function(x) {
 if(is.numeric(x)){
   mean(x) &amp;gt; 3
 } else {
   return(TRUE)
 }
}
select_if(iris, f) %&amp;gt;% head(3)
#&amp;gt;    Sepal.Length Sepal.Width Petal.Length Species
#&amp;gt;  1          5.1         3.5          1.4  setosa
#&amp;gt;  2          4.9         3.0          1.4  setosa
#&amp;gt;  3          4.7         3.2          1.3  setosa&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;この場合，「変数が数値型の場合，平均が3より大きかったら残す。それ以外の型なら残す」という仕事をさせてる。また，列数と同じ数の論理値ベクトルを与えてもOK:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;select_if(iris, c(TRUE, TRUE, FALSE, TRUE, FALSE)) %&amp;gt;% head(3)
#&amp;gt;    Sepal.Length Sepal.Width Petal.Width
#&amp;gt;  1          5.1         3.5         0.2
#&amp;gt;  2          4.9         3.0         0.2
#&amp;gt;  3          4.7         3.2         0.2&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;また，&lt;code&gt;.Predicate&lt;/code&gt;で指定するのは関数だけでなくformulaでもいいみたい。省略。あと第三引数&lt;code&gt;.funs&lt;/code&gt;はこれまでのパターン同様&lt;strong&gt;変数名を変更するための関数&lt;/strong&gt;です。&lt;code&gt;select_if()&lt;/code&gt;においてはオプショナルなものです:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;select_if(iris, is.numeric, toupper) %&amp;gt;% head(3)
#&amp;gt;    SEPAL.LENGTH SEPAL.WIDTH PETAL.LENGTH PETAL.WIDTH
#&amp;gt;  1          5.1         3.5          1.4         0.2
#&amp;gt;  2          4.9         3.0          1.4         0.2
#&amp;gt;  3          4.7         3.2          1.3         0.2&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;一方，&lt;code&gt;rename_if()&lt;/code&gt;は&lt;code&gt;select_if()&lt;/code&gt;とほぼ同じような動きをしますが，&lt;strong&gt;名前変更なので&lt;code&gt;.funs&lt;/code&gt;が必須&lt;/strong&gt;なのと，&lt;strong&gt;選択されなかった変数も残る&lt;/strong&gt;という違いがあります:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;rename_if(iris, is.numeric, toupper) %&amp;gt;% head(3)
#&amp;gt;    SEPAL.LENGTH SEPAL.WIDTH PETAL.LENGTH PETAL.WIDTH Species
#&amp;gt;  1          5.1         3.5          1.4         0.2  setosa
#&amp;gt;  2          4.9         3.0          1.4         0.2  setosa
#&amp;gt;  3          4.7         3.2          1.3         0.2  setosa&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;だいたいこんな感じです。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enjoy!&lt;/strong&gt;&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;sessionInfo()
#&amp;gt;  R version 3.4.2 (2017-09-28)
#&amp;gt;  Platform: x86_64-pc-linux-gnu (64-bit)
#&amp;gt;  Running under: Ubuntu 16.04.3 LTS
#&amp;gt;  
#&amp;gt;  Matrix products: default
#&amp;gt;  BLAS: /usr/lib/libblas/libblas.so.3.6.0
#&amp;gt;  LAPACK: /usr/lib/lapack/liblapack.so.3.6.0
#&amp;gt;  
#&amp;gt;  locale:
#&amp;gt;   [1] LC_CTYPE=ja_JP.UTF-8       LC_NUMERIC=C              
#&amp;gt;   [3] LC_TIME=ja_JP.UTF-8        LC_COLLATE=ja_JP.UTF-8    
#&amp;gt;   [5] LC_MONETARY=ja_JP.UTF-8    LC_MESSAGES=ja_JP.UTF-8   
#&amp;gt;   [7] LC_PAPER=ja_JP.UTF-8       LC_NAME=C                 
#&amp;gt;   [9] LC_ADDRESS=C               LC_TELEPHONE=C            
#&amp;gt;  [11] LC_MEASUREMENT=ja_JP.UTF-8 LC_IDENTIFICATION=C       
#&amp;gt;  
#&amp;gt;  attached base packages:
#&amp;gt;  [1] methods   stats     graphics  grDevices utils     datasets  base     
#&amp;gt;  
#&amp;gt;  other attached packages:
#&amp;gt;  [1] dplyr_0.7.4
#&amp;gt;  
#&amp;gt;  loaded via a namespace (and not attached):
#&amp;gt;   [1] Rcpp_0.12.13         bookdown_0.5         assertthat_0.2.0    
#&amp;gt;   [4] digest_0.6.12        rprojroot_1.2        R6_2.2.2            
#&amp;gt;   [7] backports_1.1.1      magrittr_1.5         evaluate_0.10.1     
#&amp;gt;  [10] blogdown_0.1         rlang_0.1.2          stringi_1.1.5       
#&amp;gt;  [13] bindrcpp_0.2         rmarkdown_1.6.0.9004 tools_3.4.2         
#&amp;gt;  [16] stringr_1.2.0        glue_1.1.1           yaml_2.1.14         
#&amp;gt;  [19] compiler_3.4.2       pkgconfig_2.0.1      htmltools_0.3.6     
#&amp;gt;  [22] bindr_0.1            knitr_1.17           tibble_1.3.4&lt;/code&gt;&lt;/pre&gt;
</description>
    </item>
    
    <item>
      <title>MathJax CDNがシャットダウンされることによるR Markdownへの影響</title>
      <link>https://kazutan.github.io/blog/2017/04/mathjax-cdn-rmd/</link>
      <pubDate>Tue, 11 Apr 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/04/mathjax-cdn-rmd/</guid>
      <description>

&lt;h2 id=&#34;経緯&#34;&gt;経緯&lt;/h2&gt;

&lt;p&gt;先日,こういう情報が流れてきました:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;https://www.mathjax.org/cdn-shutting-down/&#34;&gt;MathJax CDN shutting down on April 30, 2017.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;内容としては,「MathJaxの自前CDNサーバーを4/30に閉じますよ」って話で,「ローカルに落としとくか代替となるクラウドサーバーを使ってね」ということです。&lt;/p&gt;

&lt;p&gt;さてこのMathJaxというのは,HTMLドキュメントなどで数式を綺麗に出してくれるライブラリです。Markdownなど利用していると,&lt;code&gt;$&lt;/code&gt;や&lt;code&gt;$$&lt;/code&gt;などでTeX記法の数式を挟み込むと数式をレンダリングしてくれる機能を提供してくれたりします。&lt;/p&gt;

&lt;p&gt;このMathJaxですが,R Markdownの数式でも利用されていますし,RStudioのリアルタイムプレビュー機能もおそらくは利用されています。ということは,&lt;strong&gt;R Markdownなどに影響が出るかもしれない&lt;/strong&gt;のです。というわけで調べてみました。&lt;/p&gt;

&lt;h2 id=&#34;調査結果&#34;&gt;調査結果&lt;/h2&gt;

&lt;h3 id=&#34;rstudioの場合&#34;&gt;RStudioの場合&lt;/h3&gt;

&lt;p&gt;RStudioはbuildの際にMathJaxを組み込んでいるようです。Ubuntu版だと&lt;code&gt;/usr/lib/rstudio/resources/mathjax-26/&lt;/code&gt;にいました。きっちりと確認してませんが,Rmdファイル編集中に表示されるリアルタイム数式プレビューはlocalのを利用しているはずなので,&lt;strong&gt;おそらくは大丈夫&lt;/strong&gt;だと思います。&lt;/p&gt;

&lt;h3 id=&#34;r-markdownの場合&#34;&gt;R Markdownの場合&lt;/h3&gt;

&lt;p&gt;結論から言うと,&lt;strong&gt;影響を受けます&lt;/strong&gt;。&lt;/p&gt;

&lt;p&gt;まず,html_documentをデフォルトで出力した場合,Pandocに送られる内容は以下の記事にまとめてます:&lt;/p&gt;

&lt;p&gt;&lt;a href=&#34;http://qiita.com/kazutan/items/eb15a42607f87f57b525#15-16%E8%A1%8C%E7%9B%AE-%E6%95%B0%E5%BC%8F%E3%81%BE%E3%82%8F%E3%82%8A%E3%81%AE%E8%A8%AD%E5%AE%9A&#34;&gt;RStudioの&amp;rdquo;knit HTML&amp;rdquo;でPandocに送っている内容 - Qiita&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;このurlは,まさに最初に紹介したMathJaxの記事で記載されている,停止するCDNサーバーです。なおこれは現在のversionでも変更がないのを確認しています。&lt;/p&gt;

&lt;p&gt;したがって,&lt;strong&gt;このままですと4/30以降にknitしたRmdでは,MathJaxを標準設定のままではうまく表示されない可能性があります&lt;/strong&gt;。したがって対応を考える必要があるでしょう。&lt;/p&gt;

&lt;p&gt;なお,すでに作ってきたhtml_documentの場合はどうなるかというと,&lt;strong&gt;こちらも影響を受けます&lt;/strong&gt;。ただ,&lt;code&gt;self_contained: TRUE&lt;/code&gt;(デフォ値)にしてれば組み込まれるんで大丈夫じゃないか? と思われるかもしれません。ですが,MathJaxはself_contained: TRUEであっても直接WebのCDNから読みこむように設定してあります。理由は省略しますが,気になる方はコメントで書き込んでください。&lt;/p&gt;

&lt;h2 id=&#34;対策&#34;&gt;対策&lt;/h2&gt;

&lt;h3 id=&#34;影響する範囲&#34;&gt;影響する範囲&lt;/h3&gt;

&lt;p&gt;rmarkdownパッケージは完全に影響を受けます。あとR Markdownのテンプレートなどを提供するパッケージにも影響します。たとえば&lt;a href=&#34;https://github.com/yihui/xaringan&#34;&gt;xaringanパッケージ&lt;/a&gt;は確実に影響を受けるでしょう。&lt;/p&gt;

&lt;h3 id=&#34;基本的な考え方&#34;&gt;基本的な考え方&lt;/h3&gt;

&lt;p&gt;MathJaxは先の記事で代替となる場所を示していますので,そちらを利用するように調整すればOKです。&lt;/p&gt;

&lt;p&gt;YAMLフロントマターに,以下のような感じで追加してKnitすればOKです:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;---
output:
  html_document:
    mathjax: &amp;quot;https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML&amp;quot;
---
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;これで差し替わります。またURLの途中にある数値(version)を書き換えてやればそれに対応したものが当たるようになります。&lt;/p&gt;

&lt;h3 id=&#34;すでに生成したドキュメントについて&#34;&gt;すでに生成したドキュメントについて&lt;/h3&gt;

&lt;p&gt;Rmdがあるのであれば,再度レンダリングするのがはやいかと。Rmdがないのであれば,サイトなどのHTMLを編集する必要があります。&lt;/p&gt;

&lt;h3 id=&#34;パッケージ側を編集する&#34;&gt;パッケージ側を編集する&lt;/h3&gt;

&lt;p&gt;rmarkdownをフォークするなりして,該当箇所を修正したもので使っていくという方法もあります。あるいはプルリクを出してそのものを変更していく,という方法もあります。&lt;/p&gt;

&lt;p&gt;ひとまず該当箇所を修正してプルリクを出してみたけど,どうなるかな…&lt;/p&gt;

&lt;h2 id=&#34;雑感&#34;&gt;雑感&lt;/h2&gt;

&lt;p&gt;てことで調べてみて行動してみたけれど,RStudioやR Markdownまわりで全然話題になってないのよ…影響ない,とは思えないんだけど間違ってるのかな。不安でしょうがないです。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enjoy!&lt;/strong&gt;&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>今年度前期。</title>
      <link>https://kazutan.github.io/blog/2017/04/17a-timetable/</link>
      <pubDate>Sun, 09 Apr 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/04/17a-timetable/</guid>
      <description>&lt;p&gt;明日から始まるのでいつも通りタイムテーブルを作ってみた。いちいちDTでやるの面倒だから&lt;code&gt;knitr::kable&lt;/code&gt;で。&lt;/p&gt;
&lt;table&gt;
&lt;caption&gt;
&lt;span id=&#34;tab:unnamed-chunk-1&#34;&gt;Table 1: &lt;/span&gt;2017年前期 週間スケジュール
&lt;/caption&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&#34;text-align:left;&#34;&gt;
&lt;/th&gt;
&lt;th style=&#34;text-align:center;&#34;&gt;
月曜日
&lt;/th&gt;
&lt;th style=&#34;text-align:center;&#34;&gt;
火曜日
&lt;/th&gt;
&lt;th style=&#34;text-align:center;&#34;&gt;
水曜日
&lt;/th&gt;
&lt;th style=&#34;text-align:center;&#34;&gt;
木曜日
&lt;/th&gt;
&lt;th style=&#34;text-align:center;&#34;&gt;
金曜日
&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
1
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
PC演習
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
会議
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
非常勤へ
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
PC演習
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
2
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
PC演習
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
心理系講義
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
PC演習
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
3
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
初年次科目
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
本務校へ
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
4
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
ゼミ演習
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
PC演習
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
PC演習
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
情報系講義
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
PC演習
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&#34;text-align:left;&#34;&gt;
5
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
卒研指導
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
オフィスアワー
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
PC相談ブース
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
会議
&lt;/td&gt;
&lt;td style=&#34;text-align:center;&#34;&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
</description>
    </item>
    
    <item>
      <title>DiagrammeRのrankdirのテスト</title>
      <link>https://kazutan.github.io/blog/2017/04/dgr-rankdir-test/</link>
      <pubDate>Thu, 06 Apr 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/04/dgr-rankdir-test/</guid>
      <description>&lt;script src=&#34;https://kazutan.github.io/blog/blogrmarkdown-libs/htmlwidgets/htmlwidgets.js&#34;&gt;&lt;/script&gt;
&lt;script src=&#34;https://kazutan.github.io/blog/blogrmarkdown-libs/viz/viz.js&#34;&gt;&lt;/script&gt;
&lt;link href=&#34;https://kazutan.github.io/blog/blogrmarkdown-libs/DiagrammeR-styles/styles.css&#34; rel=&#34;stylesheet&#34; /&gt;
&lt;script src=&#34;https://kazutan.github.io/blog/blogrmarkdown-libs/grViz-binding/grViz.js&#34;&gt;&lt;/script&gt;


&lt;p&gt;書捨て用のメモ記事。&lt;/p&gt;
&lt;div id=&#34;rankdir&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;rankdirのテスト&lt;/h2&gt;
&lt;p&gt;データフレームからgraph attrを当てていくの，便利なようで面倒だった。&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;library(DiagrammeR)
grViz(&amp;quot;
      digraph dot {
      graph [rankdir = TB]
      a -&amp;gt; {b,c}
      }
      &amp;quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;div id=&#34;htmlwidget-1&#34; style=&#34;width:672px;height:480px;&#34; class=&#34;grViz html-widget&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/json&#34; data-for=&#34;htmlwidget-1&#34;&gt;{&#34;x&#34;:{&#34;diagram&#34;:&#34;\n      digraph dot {\n      graph [rankdir = TB]\n      a -&gt; {b,c}\n      }\n      &#34;,&#34;config&#34;:{&#34;engine&#34;:&#34;dot&#34;,&#34;options&#34;:null}},&#34;evals&#34;:[],&#34;jsHooks&#34;:[]}&lt;/script&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;ndf &amp;lt;- create_node_df(
  n = 3,
  type = c(&amp;quot;cat&amp;quot;, &amp;quot;takayanagi3&amp;quot;, &amp;quot;takayanagi3&amp;quot;),
  label = TRUE
)

edf &amp;lt;- create_edge_df(
  from = c(1, 1),
  to = c(2, 3)
)

graph1 &amp;lt;- create_graph(
  nodes_df = ndf,
  edges_df = edf
)&lt;/code&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;code&gt;## Warning in sample.int(length(x), size, replace, prob): &amp;#39;.Random.seed&amp;#39; が整
## 数ベクトルではなくタイプ &amp;#39;NULL&amp;#39; になっているため、無視されました&lt;/code&gt;&lt;/pre&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;render_graph(graph1)&lt;/code&gt;&lt;/pre&gt;
&lt;div id=&#34;htmlwidget-2&#34; style=&#34;width:672px;height:480px;&#34; class=&#34;grViz html-widget&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/json&#34; data-for=&#34;htmlwidget-2&#34;&gt;{&#34;x&#34;:{&#34;diagram&#34;:&#34;digraph {\n\ngraph [layout = \&#34;neato\&#34;,\n       outputorder = \&#34;edgesfirst\&#34;,\n       bgcolor = \&#34;white\&#34;]\n\nnode [fontname = \&#34;Helvetica\&#34;,\n     fontsize = \&#34;10\&#34;,\n     shape = \&#34;circle\&#34;,\n     fixedsize = \&#34;true\&#34;,\n     width = \&#34;0.5\&#34;,\n     style = \&#34;filled\&#34;,\n     fillcolor = \&#34;aliceblue\&#34;,\n     color = \&#34;gray70\&#34;,\n     fontcolor = \&#34;gray50\&#34;]\n\nedge [len = \&#34;1.5\&#34;,\n     color = \&#34;gray40\&#34;,\n     arrowsize = \&#34;0.5\&#34;]\n\n  \&#34;1\&#34; [label = \&#34;1\&#34;, fillcolor = \&#34;#F0F8FF\&#34;, fontcolor = \&#34;#000000\&#34;] \n  \&#34;2\&#34; [label = \&#34;2\&#34;, fillcolor = \&#34;#F0F8FF\&#34;, fontcolor = \&#34;#000000\&#34;] \n  \&#34;3\&#34; [label = \&#34;3\&#34;, fillcolor = \&#34;#F0F8FF\&#34;, fontcolor = \&#34;#000000\&#34;] \n\&#34;1\&#34;-&gt;\&#34;2\&#34; [id = \&#34;1\&#34;] \n\&#34;1\&#34;-&gt;\&#34;3\&#34; [id = \&#34;2\&#34;] \n}&#34;,&#34;config&#34;:{&#34;engine&#34;:&#34;dot&#34;,&#34;options&#34;:null}},&#34;evals&#34;:[],&#34;jsHooks&#34;:[]}&lt;/script&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;graph2 &amp;lt;- graph1 %&amp;gt;% 
  add_global_graph_attrs(
    &amp;quot;rankdir&amp;quot;, &amp;quot;TB&amp;quot;, &amp;quot;graph&amp;quot;
  ) %&amp;gt;% 
  add_global_graph_attrs(
    &amp;quot;layout&amp;quot;, &amp;quot;dot&amp;quot;, &amp;quot;graph&amp;quot;
  )

render_graph(graph2)&lt;/code&gt;&lt;/pre&gt;
&lt;div id=&#34;htmlwidget-3&#34; style=&#34;width:672px;height:480px;&#34; class=&#34;grViz html-widget&#34;&gt;&lt;/div&gt;
&lt;script type=&#34;application/json&#34; data-for=&#34;htmlwidget-3&#34;&gt;{&#34;x&#34;:{&#34;diagram&#34;:&#34;digraph {\n\ngraph [layout = \&#34;dot\&#34;,\n       outputorder = \&#34;edgesfirst\&#34;,\n       bgcolor = \&#34;white\&#34;,\n       rankdir = \&#34;TB\&#34;]\n\nnode [fontname = \&#34;Helvetica\&#34;,\n     fontsize = \&#34;10\&#34;,\n     shape = \&#34;circle\&#34;,\n     fixedsize = \&#34;true\&#34;,\n     width = \&#34;0.5\&#34;,\n     style = \&#34;filled\&#34;,\n     fillcolor = \&#34;aliceblue\&#34;,\n     color = \&#34;gray70\&#34;,\n     fontcolor = \&#34;gray50\&#34;]\n\nedge [len = \&#34;1.5\&#34;,\n     color = \&#34;gray40\&#34;,\n     arrowsize = \&#34;0.5\&#34;]\n\n  \&#34;1\&#34; [label = \&#34;1\&#34;, fillcolor = \&#34;#F0F8FF\&#34;, fontcolor = \&#34;#000000\&#34;] \n  \&#34;2\&#34; [label = \&#34;2\&#34;, fillcolor = \&#34;#F0F8FF\&#34;, fontcolor = \&#34;#000000\&#34;] \n  \&#34;3\&#34; [label = \&#34;3\&#34;, fillcolor = \&#34;#F0F8FF\&#34;, fontcolor = \&#34;#000000\&#34;] \n\&#34;1\&#34;-&gt;\&#34;2\&#34; [id = \&#34;1\&#34;] \n\&#34;1\&#34;-&gt;\&#34;3\&#34; [id = \&#34;2\&#34;] \n}&#34;,&#34;config&#34;:{&#34;engine&#34;:&#34;dot&#34;,&#34;options&#34;:null}},&#34;evals&#34;:[],&#34;jsHooks&#34;:[]}&lt;/script&gt;
&lt;p&gt;公式ドキュメントが整備されていないので手探りでやりました。早く整備しないと…。&lt;/p&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>blogdownのTips</title>
      <link>https://kazutan.github.io/blog/2017/04/blogdown-tips/</link>
      <pubDate>Sun, 02 Apr 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/04/blogdown-tips/</guid>
      <description>&lt;p&gt;最近まわりで何かと&lt;strong&gt;blogdown&lt;/strong&gt;パッケージが話題です。このブログも&lt;strong&gt;blogdown&lt;/strong&gt;で作成していますし,紹介する記事も増えてきました。&lt;/p&gt;

&lt;p&gt;そこで自分の中で検証して,現時点でわかったことをTipsとしてまとめてみようと思います。また新たにわかったことは別記事にでも書こうかと思います。&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;h2 id=&#34;blogdown入門&#34;&gt;blogdown入門&lt;/h2&gt;

&lt;h3 id=&#34;blogdownとは&#34;&gt;blogdownとは&lt;/h3&gt;

&lt;p&gt;blogdownはRを使ってblogのような静的Webサイトを生成するためのパッケージです。サイト生成には&lt;a href=&#34;https://gohugo.io/&#34;&gt;Hugo&lt;/a&gt;というサイト生成アプリケーションを利用しており,これはGo言語で書かれています。&lt;/p&gt;

&lt;h3 id=&#34;hugoについて&#34;&gt;Hugoについて&lt;/h3&gt;

&lt;p&gt;このHugoの特徴としては生成処理が早く,またモダンなデザインのテンプレートがいろいろあって,すぐに実用的なものが作成可能というのがあります。&lt;/p&gt;

&lt;p&gt;またHugoの重要なポイントとして,公式ドキュメントが非常に充実していることが挙げられます。blogdownでやりたいことや行き詰まることが出たら,Hugoの公式サイトを参照するのをおすすめします:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://gohugo.io/overview/introduction/&#34;&gt;Hugo - Introduction to Hugo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 id=&#34;blogdownのスタートアップ&#34;&gt;blogdownのスタートアップ&lt;/h3&gt;

&lt;p&gt;blogdownがどういうものか,そして導入の方法については,すでにいい記事がありますので,以下を参照してください:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ytake2.github.io/blog2/post/blogdown/&#34;&gt;RStudioではグラブれないけど、ブログれる&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;http://blog.hoxo-m.com/2017/03/29/hello-world/&#34;&gt;ホクソエムブログの作り方&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&#34;tips&#34;&gt;Tips&lt;/h2&gt;

&lt;p&gt;上記の記事に記載されていなくて,自分の中でメモしときたい内容をいくつか。&lt;/p&gt;

&lt;h3 id=&#34;blogdownの仕組みについて&#34;&gt;blogdownの仕組みについて&lt;/h3&gt;

&lt;p&gt;ちょっと込み入った内容です。&lt;/p&gt;

&lt;h4 id=&#34;blogdownの実体&#34;&gt;blogdownの実体&lt;/h4&gt;

&lt;p&gt;blogdownは,正直&lt;strong&gt;ほとんどHugoのR向けWrapper&lt;/strong&gt;です。&lt;/p&gt;

&lt;p&gt;例えばサイトを作成する&lt;code&gt;new_site()&lt;/code&gt;は,初期値を確認・設定した上で,それらを&lt;code&gt;hugo_cmd()&lt;/code&gt;に送っています。また,&lt;code&gt;new_content()&lt;/code&gt;もhugoへ新しいコンテツを作成するためのコマンドを送っています。そしてサイトを生成する&lt;code&gt;build_site()&lt;/code&gt;は設定などを整理・確認して&lt;code&gt;build_rmds()&lt;/code&gt;へ送り,Rmdを処理したうえで&lt;code&gt;hugo_build()&lt;/code&gt;でbuildしています。この&lt;code&gt;build_site()&lt;/code&gt;のコードおよびそこからの流れはblogdownの中身を把握する上でポイントとなるので,余力があるならぜひ覗いてみてください。&lt;/p&gt;

&lt;h4 id=&#34;rmd-or-md&#34;&gt;Rmd or md?&lt;/h4&gt;

&lt;p&gt;blogdownでbuildすると,content内にあるRmdやmdがレンダリングされて,自動的に最適な形で出力先へ出てくるようになります。つまりはblog記事はmdでもRmdでもどちらでも可能でhtmlが生成されます。ただし,&lt;strong&gt;この時用いられるレンダリングエンジンがRmdとmdで異なります&lt;/strong&gt;。詳しくは&lt;a href=&#34;https://bookdown.org/yihui/blogdown/output-format.html&#34;&gt;blogdownのドキュメントのここ&lt;/a&gt;を参照してください。&lt;/p&gt;

&lt;p&gt;Rmdの場合,通常のR Markdownと同様でknit - Pandocという処理を行います。この時ベースになるoutputは&lt;code&gt;blogdown::html_page()&lt;/code&gt;で,これは&lt;code&gt;bookdown::html_document2()&lt;/code&gt;でいくつかの設定をblog(hugo)向けに絞ったものとなっています。なのでいつものR Markdownのoutputオプションを指定したい場合,以下のように指定すればOKです:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;---
title: R Markdownでの諸々のテスト
author: kazutan
date: &#39;2017-03-22&#39;
slug: rmd-test
categories:
  - R
  - R Markdown
tags:
  - R
  - R Markdown
archives:
  - &amp;quot;2017&amp;quot;
  - &amp;quot;2017/03&amp;quot;
output:
  blogdown::html_page:
    toc: true
---
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;これはこのブログの&lt;a href=&#34;https://kazutan.github.io/blog/2017/03/rmd-test/&#34;&gt;この記事&lt;/a&gt;のyamlフロントマターで当てている内容です。このような設定は,Rmdで記事を作成した場合に有効です。&lt;/p&gt;

&lt;p&gt;なお,&lt;strong&gt;Rmdで作成するとHugoがmdレンダリングで使用する&lt;a href=&#34;https://github.com/russross/blackfriday&#34;&gt;Blackfliday&lt;/a&gt;の機能などが使えない&lt;/strong&gt;という制約がつきます。なのでよくHugo関連のドキュメントで書いてあるような拡張機能が使えない場合があるので注意してください。&lt;/p&gt;

&lt;p&gt;一方mdの場合,Hugoがmdをレンダリングします。Hugoは&lt;a href=&#34;https://github.com/russross/blackfriday&#34;&gt;Blackfliday&lt;/a&gt;を利用してレンダリングしています。またHugoが提供している拡張機能もそのままドキュメントに盛り込めます。例えば,&lt;code&gt;HUGOMORE42&lt;/code&gt;は手動で「続きを読む」みたいな区切りを設定するものですが,mdファイルであればこれを差し込むことで実装できます。ただし,Rmdファイルで記事を書いた場合には機能しません。&lt;/p&gt;

&lt;p&gt;では「Rmdとmdのどっちがいいの?」と聞かれそうですが,ケースバイケースと言わざるを得ません。Rチャンクなどを埋め込みたいのであればRmd一択になるでしょうし,Blackfridayなどを利用したいのであれば,mdも選択肢になる,と言った感じでしょうか。まだ私がそこまでBlackfridayなどに明るくないのでRmdにより多くのメリットを感じていますが,そのうち機会があれば調べてみたいとは思ってます。&lt;/p&gt;

&lt;h3 id=&#34;コメント機能の実装&#34;&gt;コメント機能の実装&lt;/h3&gt;

&lt;p&gt;Hugoは静的なサイトなので,CMSで標準で実装されているコメント機能などは難しくなります。ここはシンプルに外部サービスを利用するのが楽だと思います。&lt;/p&gt;

&lt;p&gt;このブログでは&lt;a href=&#34;https://disqus.com/&#34;&gt;disqus&lt;/a&gt;という外部サービスを利用しています。詳しくは&lt;code&gt;disque 使い方&lt;/code&gt;とかでググってもらえれば,アカウント登録のやり方など解説している記事がヒットするでしょう。有償版もありますが,無償版でも使えます。&lt;/p&gt;

&lt;p&gt;blogdown(というかhugo)では割と簡単に組み込むことができます。&lt;a href=&#34;https://gohugo.io/extras/comments/&#34;&gt;Hugo公式ドキュメントのこちら&lt;/a&gt;を参照してください。多分大抵のテーマでさくっといけるはずです。&lt;/p&gt;

&lt;h3 id=&#34;出力先ディレクトリの設定など&#34;&gt;出力先ディレクトリの設定など&lt;/h3&gt;

&lt;p&gt;blogdown(というかHugo)のデフォルトは&lt;code&gt;public/&lt;/code&gt;となっています。通常のWebサーバに設置したいのであれば,単にこの中身をまるっと設置すればOKなのですが,github.ioを利用するとなると面倒です。&lt;/p&gt;

&lt;p&gt;最初の方に紹介した2つの記事では「&lt;code&gt;public/&lt;/code&gt;の中身を&lt;code&gt;docs&lt;/code&gt;にコピーして&lt;code&gt;push&lt;/code&gt;」とありますが,これも手間です。もうちょっと簡単にやる方法が&lt;a href=&#34;https://gohugo.io/tutorials/github-pages-blog/&#34;&gt;Hugo公式ドキュメントのこちら&lt;/a&gt;に記載してありますので参照してください。&lt;/p&gt;

&lt;p&gt;なお,単に出力先を&lt;code&gt;docs/&lt;/code&gt;に変更したいだけなら,&lt;code&gt;config.toml&lt;/code&gt;に以下の一行を追加してください:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-toml&#34;&gt;publishDir = &amp;quot;docs&amp;quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;またgh-pagesブランチで運用したいなら,先ほど紹介したリンク先に詳細手順が紹介してあります。多少gitの知識が入りますが,丁寧な解説なのでそれほど苦しくはないと思います。&lt;/p&gt;

&lt;h3 id=&#34;hugoでcjk対応&#34;&gt;Hugoでcjk対応&lt;/h3&gt;

&lt;p&gt;英語オンリーなブログであれば不要なのですが,日本語ベースでblogdown(Hugo)を利用するならcjk対応をさせておくほうがいいでしょう(cjkは中国語&amp;copy;,日本語(j),韓国語(k)のこと)。これを設定しておかないと,トップページなどで記事一覧を出した時,記事の要約が自動でうまく処理してくれずに面倒なこととなります。&lt;/p&gt;

&lt;p&gt;設定方法は,&lt;code&gt;config.toml&lt;/code&gt;に以下の一文を記述してください:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&#34;language-toml&#34;&gt;hasCJKLanguage = true
&lt;/code&gt;&lt;/pre&gt;

&lt;h3 id=&#34;その他の全体設定について&#34;&gt;その他の全体設定について&lt;/h3&gt;

&lt;p&gt;Hugoではいわゆるブログ全体設定というものがかなりたくさんありますし,拡張機能もたくさん準備してあります。詳しくは公式ドキュメントをざっと見てみてください。&lt;/p&gt;

&lt;p&gt;ただし,&lt;strong&gt;Hugoはテーマテンプレートによって設定項目がかなり変わってくる&lt;/strong&gt;のを注意してください。正直これがかなり面倒で,&lt;strong&gt;必ず設定したテーマのドキュメントをよく読んでください&lt;/strong&gt;。このブログで設定しているテーマは&lt;a href=&#34;http://themes.gohugo.io/hugo-tranquilpeak-theme/&#34;&gt;Tranquilpeak&lt;/a&gt;で,多機能でいろいろカスタマイズ可能ということで選びました。&lt;/p&gt;

&lt;h3 id=&#34;新規postはrstudio-addinで&#34;&gt;新規PostはRStudio Addinで&lt;/h3&gt;

&lt;p&gt;最近のblogdownなら,&lt;strong&gt;新規Postを準備するためのRStudio Addinが準備されています&lt;/strong&gt;。RStudioの&lt;strong&gt;Addin&amp;hellip;&lt;/strong&gt;ボタンから,&lt;strong&gt;New Post&lt;/strong&gt;を選択してください:&lt;/p&gt;

&lt;p&gt;&lt;img src=&#34;https://kazutan.github.io/blog/img/new_post.png&#34; alt=&#34;&#34; /&gt;&lt;/p&gt;

&lt;p&gt;このようなダイアログボックスが出てきます。基本的に必要な事項はここで設定できます。設定したら右下の&lt;strong&gt;OK&lt;/strong&gt;をクリックすれば,新規Post用のファイルが自動的に適切な場所に生成されます。&lt;/p&gt;

&lt;p&gt;なおCategoriesやtagsもここで設定できますし,これらですでに使ったことがあるものであればクリックで選択して入力していくことが可能ですし,新規で作ることも可能です。いちいち他のところで設定しなくても後でBuildした時にHugoが自動的に対応してくれます。便利です。&lt;/p&gt;

&lt;h3 id=&#34;下書き-draft&#34;&gt;下書き(draft)&lt;/h3&gt;

&lt;p&gt;上記のようにRStudioのAddinで作成した場合,yamlフロントマターに&lt;code&gt;draft: yes&lt;/code&gt;というのが自動で組み込まれているかと思います。これはまさにdraft機能で,yesなので下書きモードとなっています。&lt;/p&gt;

&lt;p&gt;下書きモードがONになっていると,&lt;code&gt;build_site()&lt;/code&gt;を実行してもその記事はサイトには組み込まれない(publicには入ってこない)ようになります。私の場合,記事を書きながらknitを実行して表示を確認し,書き終えたら&lt;code&gt;draft: false&lt;/code&gt;に書き換えて&lt;code&gt;serve_site()&lt;/code&gt;で確認するようにしています。&lt;/p&gt;

&lt;p&gt;また,記事を書いていく時に「ちょっと今さくっとどんな感じになるか確認したいな」と思ったら,&lt;code&gt;knit&lt;/code&gt;を実行してください。テーマなどは当たりませんが,チャンクが実行されてhtmlが生成され,確認することができます。毎度毎度buildしたりしなくていいので楽ちんですよ。&lt;/p&gt;

&lt;h3 id=&#34;build-site-と-serve-site-について&#34;&gt;&lt;code&gt;build_site()&lt;/code&gt;と&lt;code&gt;serve_site()&lt;/code&gt;について&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;serve_site()&lt;/code&gt;を実行するとbuildされ,RStudioのViewerペインに表示されます。実際何をしているかといういと,まず&lt;code&gt;build_site(TRUE)&lt;/code&gt;を実行し,&lt;code&gt;servr::httw()&lt;/code&gt;にてローカルサーバーを立てて表示させています。つまり,&lt;strong&gt;&lt;code&gt;serve_site()&lt;/code&gt;を実行するとLocal用にbuildして,それをローカルで表示させている&lt;/strong&gt;を実行しています。&lt;/p&gt;

&lt;p&gt;blog設定や内容にもよりますが,&lt;code&gt;serve_site()&lt;/code&gt;はあくまでローカルでの表示用にbuildしていますので,そのまま公開するとうまく表示されない場合があります。このようなことがあるので,公開用に設置する前に一度&lt;code&gt;build_site()&lt;/code&gt;を実行する手順を加えておくことをおすすめします。&lt;/p&gt;

&lt;h2 id=&#34;参考資料&#34;&gt;参考資料&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://bookdown.org/yihui/blogdown/&#34;&gt;blogdown: Creating Websites with R Markdown&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;blogdown公式ドキュメント&lt;/li&gt;
&lt;li&gt;でも全然整備されていない…つらい&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://gohugo.io/overview/introduction/&#34;&gt;Hugo - Introduction to Hugo&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;Hugoの公式ドキュメント&lt;/li&gt;
&lt;li&gt;非常に充実&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Getting Started&lt;/strong&gt;, &lt;strong&gt;Content&lt;/strong&gt;, &lt;strong&gt;Themes&lt;/strong&gt;のところはぜひ読んでください&lt;/li&gt;
&lt;li&gt;いろいろやりたくなったら,&lt;strong&gt;Template&lt;/strong&gt;, &lt;strong&gt;Taxonomies&lt;/strong&gt;, &lt;strong&gt;Extras&lt;/strong&gt;に手を出してください&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;その他わからないところや詰まったところがあったらr-wakalangの#rmarkdownチャンネルなどで質問するといいかも。&lt;/p&gt;

&lt;p&gt;またいろいろTipsみつけたら続編を書くかもしれません。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enjoy!&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>この10年。</title>
      <link>https://kazutan.github.io/blog/2017/03/ten-years/</link>
      <pubDate>Fri, 31 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/03/ten-years/</guid>
      <description>&lt;p&gt;本日の業務をもって,現所属10年を終えました。なんとか生き延びました。&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;まあこんなタイミングはなかなかないので,せっかくだから振り返りでもしようかなと思った次第です。ただ仕事的なものを含むと面倒なことが多いので,自分がやってきたスキル的なものに絞ってみようかなと。&lt;/p&gt;

&lt;h3 id=&#34;一年目&#34;&gt;一年目&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;HTMLとCSSの基礎をやりなおす&lt;/li&gt;
&lt;li&gt;Word, Excel, PowerPointで困らなくなった&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;情報系の教員として赴任したので,今まで雰囲気でやっていたこのあたりをきっちりとやってました。以降Office製品まわりで自分が作る分にはほぼ困ることはなくなりました。またHTMLやCSSはちょうど移行期だったので,いい感じで勉強できました。&lt;/p&gt;

&lt;h2 id=&#34;二年目-三年目&#34;&gt;二年目,三年目&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;MovableTypeを運用&lt;/li&gt;
&lt;li&gt;レンタルサーバーと独自ドメイン開始&lt;/li&gt;
&lt;li&gt;Bootstrapを使いはじめる&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;業務上必要になったため,MTに手を出すことに。書籍を数冊買って試していくうちにCMSのイメージがなんとなくつかめてきた。ただ自分が(まだ)完全に構築することはなかったけど,デザイン周りでいじらないと行けないことが増えたため,Webデザイン関連の勉強をひたすらやってた。この頃のはてブはWebデザイン周りばっかりだった気がする。その関連でBootstrapを使い始めて,今のサイトを作ったような気がします。&lt;/p&gt;

&lt;p&gt;あと,業務の都合により要件定義だのERPだのワークフローだのマネジメントだの,そういった今まで知らなかったことを勉強せざるを得なくなった。このあたりからなんか色が変わってきた気がする。&lt;/p&gt;

&lt;h2 id=&#34;四年目-五年目&#34;&gt;四年目,五年目&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;WordPressを運用&lt;/li&gt;
&lt;li&gt;情報系資格取得&lt;/li&gt;
&lt;li&gt;データベースの勉強開始&lt;/li&gt;
&lt;li&gt;R関連の情報収集開始&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HiRoshima.R #1に参加&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;この時期はまあ,停滞してました。多分この頃から年間20コマ超えが当たり前になって,もうボロボロで記憶がないです。でもいろんなことに手を伸ばし始めてた時期でした。学生や周りに促されたこともあって,情報系の資格を取得してたのはこの時期な気がします。ITパスポートとか,Office系の資格とか…。あと今まで逃げていたDBまわりにも手を出してきました。&lt;/p&gt;

&lt;p&gt;あと,R関連に関することもこの頃からみたいです。よく誤解されますが,&lt;strong&gt;HiRoshima.R出身&lt;/strong&gt;です。まだこの頃はまともに使えずに手詰まりになることが多かったです。&lt;/p&gt;

&lt;h2 id=&#34;六年目&#34;&gt;六年目&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Ubuntuに出会う&lt;/li&gt;
&lt;li&gt;Rをメインの分析環境へ&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;この頃「このままじゃだめだ,なんとか打破したい」と漠然と思うことが多く,絞り込んで自分の資源を配分していた気がします。今ではメインのUbuntuを使い始めたのもこの頃ですね。そのちょっと前からMacも使うようになっていたので,Win, Mac, Ubuntuの3つを並行して使っていくスタイルがこの頃に出来上がったと言えます。&lt;/p&gt;

&lt;p&gt;あとこの時期から腰を据えてRに移行しようとしてました。データハンドリングでものすごく苦労してたのですが,ただSピーSSにはもう戻らないぞと決意した時期でもありました。「Rによるやさしい統計学」を写経してなんとか自分の手に馴染むようにしてたのを覚えてます。&lt;/p&gt;

&lt;h1 id=&#34;七年目&#34;&gt;七年目&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;ほぼUbuntuに移行&lt;/li&gt;
&lt;li&gt;ベイズに出会う&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Rが楽しくなる&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;テキストマイニングをやり始める&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ほぼ今の方針がこの頃に決まってきた印象です。まず春に&lt;a href=&#34;http://psychonomic.jp/forum/2013_1.html&#34;&gt;こちらのフォーラム&lt;/a&gt;に参加し,酸素濃度が低い中okd先生の講演で興奮して終わったあと会場のKO大のベンチで独りブツブツなんか言ってたのを思い出します。これに参加できたのは大きな転機でした。&lt;/p&gt;

&lt;p&gt;あと研究的に必要になりテキストマイニングを勉強し始めました。この分析を実施するためにRへの比重を上げていったのですが,ものすごく楽しかったです。&lt;/p&gt;

&lt;h2 id=&#34;八年目&#34;&gt;八年目&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;ベイズ関連で発表など&lt;/li&gt;
&lt;li&gt;テキストマイニングで学会発表など&lt;/li&gt;
&lt;li&gt;全国のR勉強会巡業スタート&lt;/li&gt;
&lt;li&gt;R Markdownに惚れる&lt;/li&gt;
&lt;li&gt;Hijiyama.Rスタート&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ぞうさん通信スタート&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ここに来て一気にRに染まるようになります。なので私の中ではこの頃から使い始めた,としてます。ioslidesで学会発表したりとR Markdownにハマったのはこの頃ですね。またHijiyama.Rを主催したりぞうさん通信をはじめたりと,明らかに積極的になりました。&lt;/p&gt;

&lt;p&gt;この頃から「楽しいことをしよう。それが結局全てだよな」と考えるようになりました。この辺の話はまたどこかで話すかもしれないです。あとひたすらインプットに徹してた気もします。この時期に大量にインプットしたのが後でかなり効いたと思います。&lt;/p&gt;

&lt;h2 id=&#34;九年目&#34;&gt;九年目&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;データベース再履修&lt;/li&gt;
&lt;li&gt;MCMC再履修&lt;/li&gt;
&lt;li&gt;全国R勉強会行脚&lt;/li&gt;
&lt;li&gt;Pandocの勉強&lt;/li&gt;
&lt;li&gt;htmlwidgets系に触れる&lt;/li&gt;
&lt;li&gt;dplyr, tidyrへ移行&lt;/li&gt;
&lt;li&gt;スクレイピング&amp;amp;台風プロット&lt;/li&gt;
&lt;li&gt;仮想環境に手を伸ばす&lt;/li&gt;
&lt;li&gt;Git/GitHubを使いはじめる&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;この頃からスケジュールがあえば全国のR関連イベントに行くようになりました。またhtmlwidgets系の可視化パッケージに触れることで,&lt;strong&gt;完全に自分のためにRをするようになりました&lt;/strong&gt;。データ処理もdplyrやtidyrなどを使うようになり,業務でも使えるところは使うようになりました。&lt;/p&gt;

&lt;p&gt;またPandoc Markdownの仕様を調べたり,昔修めたHTML&amp;amp;CSSを活用しつつ,昔覚えたBootstrapを利用したりと,Web系の知識とが組み合わさって急速に利活用が個人的に進みました。一年目から三年目の頃の知識がここに来て発揮されてくるようになりました。&lt;/p&gt;

&lt;p&gt;さらに,色々と困ることが多くなりRによる分析環境を仮想化してインスタンス化したいと強く思うようになりました。そこでVagrantで環境構築できるようにしたり,いろいろやるようになりました。それに付随し,Git/GitHubも使い始めていくようになりました。&lt;/p&gt;

&lt;h2 id=&#34;十年目&#34;&gt;十年目&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;ベイズ推定勉強&lt;/li&gt;
&lt;li&gt;全国R勉強会発表行脚&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;今年なのですが,発表件数自体は昨年度と同一ぐらいでいろいろやりました。また細かく書くときりがないので諦めました。全体的には九年目の内容をそれぞれ深化させた感じで進みました。でもこれまでやってきたことが面白い感じでからみ合ってきたなぁという印象です。&lt;/p&gt;

&lt;p&gt;たとえば,blogdownパッケージを実践するに当たり,ベースとなるHugoの知識が必要となるのですが,こういったパターンはすでにR MarkdownのPandoc Markdownの時と同じ流れでしたし,さらにHugoの内容を理解しようとするときにMovableTypeでやってきた内容がかなり効きました。多分他の人からは「全然違うじゃねぇか」と言われるかもしれませんが,本質的というか,私のなかで変換されてうまい具合に理解が促進されたんで…。&lt;/p&gt;

&lt;p&gt;また全てにおいて,バージョン管理およびGitHubでやるようになったのも大きいです。だいぶそのコンセプトとコマンドに慣れてきたので,うまいこと運用できるようになりました。さらに仮想環境に対して勉強してきたおかげで,Dockerでオレオレ環境構築できるようになりました。この根底にはサーバの知識とかも生きてます。&lt;/p&gt;

&lt;h2 id=&#34;振り返ってみて&#34;&gt;振り返ってみて&lt;/h2&gt;

&lt;p&gt;なんだかんだで,Web系の技術・知識がスタートになっている以上はこういう流れになるのかなと思いました。書くほどじゃないかなというスキルを含めても,活かせるような感じで回せてきたんだなぁと。業務上やむなく勉強してきた内容もありますが,それを活かせるようにやってこれた自分とその環境に感謝しています。&lt;/p&gt;

&lt;p&gt;あと,単純な選択と集中じゃダメなんだなと思いました。インプットに徹する時期と,それを元に構築してアウトプットする時期とを周期的に繰り返すのがスムーズなのかも,と。個人的にはアウトプットモードに移行しているので楽しさが多少減衰してますが,小刻みなものでインプットで楽しさを補充していきたいです。&lt;/p&gt;

&lt;h2 id=&#34;これからの10年に向けて&#34;&gt;これからの10年に向けて&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;生き延びる&lt;/strong&gt;。あと,&lt;strong&gt;楽しいことをやっていく&lt;/strong&gt;。それだけです。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enjoy!&lt;/strong&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>R Markdownのhtml出力にスライドを埋め込む方法</title>
      <link>https://kazutan.github.io/blog/2017/03/embed-slide-into-rmd/</link>
      <pubDate>Thu, 30 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/03/embed-slide-into-rmd/</guid>
      <description>&lt;div id=&#34;TOC&#34;&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a&gt;やりたかったこと&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a&gt;成果&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a&gt;解説&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;#slideshare&#34;&gt;slideshareについて&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#speakerdeck&#34;&gt;SpeakerDeckについて&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#html&#34;&gt;その他のHTMLスライドについて&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a&gt;実際の関数のコードについて&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;#todo&#34;&gt;ToDo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;

&lt;p&gt;タイトルのまんまです。&lt;/p&gt;
&lt;div class=&#34;section level2&#34;&gt;
&lt;h2&gt;やりたかったこと&lt;/h2&gt;
&lt;p&gt;R Markdownで解説ページをしていると，slideshareやspeakerdeck，あるいはrevealjsなどで作成したhtmlスライドを埋め込みたいと思うことが頻出しました。大抵のslide公開サービスだと埋め込み用のタグを生成してくれたりするのですが，どうも面倒に感じたため，色々調べたり実装したりしてみました。&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;section level2&#34;&gt;
&lt;h2&gt;成果&lt;/h2&gt;
&lt;p&gt;自分専用にコツコツ作ってきた&lt;a href=&#34;https://github.com/kazutan/zousan&#34;&gt;zousan&lt;/a&gt;パッケージに，&lt;code&gt;embed_slide()&lt;/code&gt;関数を準備しました。cranにはないので以下のようにインストールします:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;# devtoolsの場合
devtools::install_github(&amp;quot;kazutan/zousan&amp;quot;)
# githubinstallでもOK
githubinstall::githubinstall(&amp;quot;zousan&amp;quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;以下のように&lt;strong&gt;閲覧用のurl&lt;/strong&gt;を渡すと，html出力した際に自動で埋め込まれます:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;library(zousan)
embed_slide(&amp;quot;http://www.slideshare.net/makotohirakawa3/osakastan2-chap51&amp;quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;iframe src=&#34;https://www.slideshare.net/slideshow/embed_code/key/aCQxCPihKjMxYk&#34; width=&#34;427&#34; height=&#34;356&#34; frameborder=&#34;0&#34; marginwidth=&#34;0&#34; marginheight=&#34;0&#34; scrolling=&#34;no&#34; style=&#34;border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;&#34; allowfullscreen&gt; &lt;/iframe&gt; &lt;div style=&#34;margin-bottom:5px&#34;&gt; &lt;strong&gt; &lt;a href=&#34;https://www.slideshare.net/makotohirakawa3/osakastan2-chap51&#34; title=&#34;Osaka.stan#2 chap5-1&#34; target=&#34;_blank&#34;&gt;Osaka.stan#2 chap5-1&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href=&#34;https://www.slideshare.net/makotohirakawa3&#34; target=&#34;_blank&#34;&gt;Makoto Hirakawa&lt;/a&gt;&lt;/strong&gt; &lt;/div&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;embed_slide(&amp;quot;https://speakerdeck.com/yamano357/tokyor49-stringr-stringi&amp;quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;iframe allowfullscreen=&#34;true&#34; allowtransparency=&#34;true&#34; frameborder=&#34;0&#34; height=&#34;596&#34; id=&#34;talk_frame_306451&#34; mozallowfullscreen=&#34;true&#34; src=&#34;https://speakerdeck.com/player/df3979c0ad814170904106053f7073be&#34; style=&#34;border:0; padding:0; margin:0; background:transparent;&#34; webkitallowfullscreen=&#34;true&#34; width=&#34;710&#34;&gt;&lt;/iframe&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;embed_slide(&amp;quot;https://kazutan.github.io/methoken201702/Rmd_workshop.html#/&amp;quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;iframe src=&#34;https://kazutan.github.io/methoken201702/Rmd_workshop.html#/&#34; width=&#34;672&#34; height=&#34;400px&#34;&gt;
&lt;/iframe&gt;
&lt;/div&gt;
&lt;div class=&#34;section level2&#34;&gt;
&lt;h2&gt;解説&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;knitr::include_url()&lt;/code&gt;という関数があり，この関数にurlを渡すとそのアドレスをiframeでいい感じで埋め込むように加工してtagオブジェクトを返してくるようになってます。これを応用しました。&lt;/p&gt;
&lt;div id=&#34;slideshare&#34; class=&#34;section level3&#34;&gt;
&lt;h3&gt;slideshareについて&lt;/h3&gt;
&lt;p&gt;slideshareの埋め込み用コードはわりと簡単な構造をしていて，上記のひとつ目の分なら以下のようにできます:&lt;/p&gt;
&lt;pre class=&#34;r&#34;&gt;&lt;code&gt;knitr::include_url(&amp;quot;https://www.slideshare.net/slideshow/embed_code/key/aCQxCPihKjMxYk&amp;quot;)&lt;/code&gt;&lt;/pre&gt;
&lt;iframe src=&#34;https://www.slideshare.net/slideshow/embed_code/key/aCQxCPihKjMxYk&#34; width=&#34;672&#34; height=&#34;400px&#34;&gt;
&lt;/iframe&gt;
&lt;p&gt;ただ，実際にこれをやろうと思うと,&lt;/p&gt;
&lt;ol style=&#34;list-style-type: decimal&#34;&gt;
&lt;li&gt;公開スライドのページヘアクセス&lt;/li&gt;
&lt;li&gt;埋め込み用のアドレスを表示&lt;/li&gt;
&lt;li&gt;それをコピー&lt;/li&gt;
&lt;li&gt;&lt;code&gt;knitr::include_url()&lt;/code&gt;内に入れる&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;…となりちょっと面倒です。特に埋め込み用のurlがkeyになっててスライドタイトルが推測できなくなる，というのが苦痛でした。そこで&lt;strong&gt;oEmbed&lt;/strong&gt;のAPIを利用することにしました。これの内容については以下の記事を参照してください:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://syncer.jp/oembed-api-matome&#34;&gt;oEmbed APIの使い方まとめ！URLから埋め込みHTMLタグを作ろう！&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;slideshareはこのoEmbedに対応しています。詳しくは以下のドキュメントを参照してください:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.slideshare.net/developers/oembed&#34;&gt;OEmbed Documentation - SlideShare&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;これを利用して実装しました。&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&#34;speakerdeck&#34; class=&#34;section level3&#34;&gt;
&lt;h3&gt;SpeakerDeckについて&lt;/h3&gt;
&lt;p&gt;SpeakerDeckの埋め込み用URLは中々に面倒で，はじめからoEmbedのAPIを利用しました:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://speakerdeck.com/faq#oembed&#34; class=&#34;uri&#34;&gt;https://speakerdeck.com/faq#oembed&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;ただ，これで取得したとしても中々うまく出力してくれず，試行錯誤してなんとか実装しました。&lt;/p&gt;
&lt;/div&gt;
&lt;div id=&#34;html&#34; class=&#34;section level3&#34;&gt;
&lt;h3&gt;その他のHTMLスライドについて&lt;/h3&gt;
&lt;p&gt;revealjsなどのスライドはhtmlファイルなので，普通に&lt;code&gt;knitr::include_url()&lt;/code&gt;でそのまま引き渡しました&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;section level3&#34;&gt;
&lt;h3&gt;実際の関数のコードについて&lt;/h3&gt;
&lt;p&gt;具体的なコードはGitHubの該当ファイルを参照してしてください:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://github.com/kazutan/zousan/blob/master/R/embed_iframe.R#L24&#34; class=&#34;uri&#34;&gt;https://github.com/kazutan/zousan/blob/master/R/embed_iframe.R#L24&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;urlを見て，slideshareのサイトならそれ用に，SpeakerDeckのサイトならそれ用にoEmbedを利用して整形してtagオブジェクトとなるようにしています。パイプ演算子つかってたりその他かなり雑ですが，今のところうまくいっているのでいいかなと。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div id=&#34;todo&#34; class=&#34;section level2&#34;&gt;
&lt;h2&gt;ToDo&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;埋め込みのサイズ調整&lt;/li&gt;
&lt;li&gt;他のプラットフォームへの対応(リクエストと技術的にいけるなら)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Enjoy!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>R MarkdownでWebサイト作成</title>
      <link>https://kazutan.github.io/blog/2017/03/rmd-de-website/</link>
      <pubDate>Mon, 27 Mar 2017 00:00:00 +0000</pubDate>
      
      <guid>https://kazutan.github.io/blog/2017/03/rmd-de-website/</guid>
      <description>&lt;p&gt;2017/03/25に&lt;a href=&#34;https://fukuoka-r.connpass.com/event/50986/&#34;&gt;fukuoka.R #7&lt;/a&gt;にて発表してきました。&lt;/p&gt;
&lt;div class=&#34;section level2&#34;&gt;
&lt;h2&gt;資料置き場&lt;/h2&gt;
&lt;p&gt;GitHubに当日使った資料などを置いています:&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://github.com/kazutan/RmdSite_tuto&#34; class=&#34;uri&#34;&gt;https://github.com/kazutan/RmdSite_tuto&lt;/a&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;section level2&#34;&gt;
&lt;h2&gt;コメント&lt;/h2&gt;
&lt;div id=&#34;r-markdownweb&#34; class=&#34;section level3&#34;&gt;
&lt;h3&gt;R MarkdownでWebサイトを構築する理由&lt;/h3&gt;
&lt;p&gt;まあ色々ありますが，当日口頭でしか伝えてなかったので補足しますと…&lt;/p&gt;
&lt;ol style=&#34;list-style-type: decimal&#34;&gt;
&lt;li&gt;Rを含むコードと実行結果をそのまま組み込んで公開できる&lt;/li&gt;
&lt;li&gt;静的なサイトなので公開がスムーズ&lt;/li&gt;
&lt;li&gt;CMSばりのことができる&lt;/li&gt;
&lt;li&gt;htmlをRで生成できる(プログラマブル)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;などです。すべてオープンソースでかなりのことができる，というのは大きいでしょう。&lt;/p&gt;
&lt;/div&gt;
&lt;div class=&#34;section level3&#34;&gt;
&lt;h3&gt;必要な技術・知識について&lt;/h3&gt;
&lt;p&gt;実のところ，R Markdownの知識や技術が一通り必要です。私が考えるR Markdownのスキルマップでは最後の方に位置づけています。こう言うと「やべぇめっちゃむずかしいんじゃねぇの手を出すのやめようか…」と思われそうですが，「Bootstrap組み込んでjQuery使えるようにしてページを部品化してプロジェクトとして管理して運用する」というのを実現しようとするなら，HTML, CSS, JavaScriptなどの相当な知識と技能が求められます。これらを習得しようとするよりも，はるかに簡単に到達することができるでしょう。&lt;/p&gt;
&lt;p&gt;必須になる技術・知識は以下のような感じです:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;R Markdownの記述方法
&lt;ul&gt;
&lt;li&gt;yamlフロントマターの基礎&lt;/li&gt;
&lt;li&gt;chunkオプションの基礎&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;navbarの記述方法&lt;/li&gt;
&lt;li&gt;公開するWebサーバーへの設置方法&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;さらに以下の技術・知識があると便利になるでしょう:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;cssの記述方法&lt;/li&gt;
&lt;li&gt;pandocの仕様&lt;/li&gt;
&lt;li&gt;JavaScript(jQuery)の知識&lt;/li&gt;
&lt;li&gt;htmltoolsパッケージ&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;だいたいこんな感じです。&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&#34;section level2&#34;&gt;
&lt;h2&gt;参考資料など&lt;/h2&gt;
&lt;p&gt;基本的には，公式ドキュメントを参照してください:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://rmarkdown.rstudio.com/rmarkdown_websites.html&#34; class=&#34;uri&#34;&gt;http://rmarkdown.rstudio.com/rmarkdown_websites.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;あとは私の上記GitHubのREADMEなどで紹介している記事を適宜参照してください。もしわからないところがありましたら，&lt;span class=&#34;citation&#34;&gt;[@kazutan]&lt;/span&gt;(&lt;a href=&#34;https://twitter.com/kazutan)へメンションやDM,あるいはr-wakalangに質問を投下してください&#34; class=&#34;uri&#34;&gt;https://twitter.com/kazutan)へメンションやDM,あるいはr-wakalangに質問を投下してください&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enjoy!&lt;/strong&gt;&lt;/p&gt;
&lt;/div&gt;
</description>
    </item>
    
  </channel>
</rss>