Anacondaよ、さようなら

anaconda のインストールはもう諦めた。
暫くは、anaconda のpythonをイジッていたのだが
或る時から、動作が遅くてどうにもならない。
再インストールしようとアンインストールしたのが
ケチの付けはじめ。

最新版をダウンロードして、意気揚々インストールを
試みるも、最後の最後でERROR

Error内容

こんなんで、エラー内容が分かるか?
色々ググって対策を試みるも全て×(ダメ)

その都度、何度アンインストールとインストールを繰返したことか!
パソコンの調子までおかしくなってしまう程。
海外のサイトも含め調べたが、同様に悩んでいる人が多数いるものの
これといった対策は皆無。

やりたいことが有るので、これ以上コイツに関わるのはやめた。

もう選択肢は、python の単独インストール一択のみ。
必要なものは、一つずつインストールしていくしかない。
まず、jupyter だけは必要なので、個別にインストール。
これだけで、私的には anaconda と同じ様な環境に!
と言うか、返ってストレスなくサクサクと動く想定を超えた環境。

パッケージの管理も、”pip”で十分。
Numpy、Scipy、pandas ・・・ 問題なくインストールできている。

Anaconda よ、さらば!

tibble の桁表示について

tibble とは、tbl_df クラスが付与された改良版の data.frame のことで、これを表示した場合、各変数(列)のデータ型が表示されたり、1 画面に収まるようデータが見易く編集された形式で出力されます。
data.frame よりは、処理速度の面でも優れているとのことなので tibble を使ってみたが、平均値を出力すると次のように数値が丸められて小数点以下が表示されない。

本来の数値は、次の通りであるべきですが・・・

こうなってしまうのは、tibble の使用する pillar というパッケージが有効数字や欠損値などの表示形式を勝手にイジってしまうためとのことです(詳しくは、こちらを参照)。

見易さを重視するため、数値の有効桁数がデフォルトで 3 に設定されており、それを超える数値は小数点以下の桁が丸められてしまうようです。
それを示すのが下の事例です。

これではちょっと困るので、デフォルトの有効桁を変更します。この変更には、options を使用します。

または、標準の print.data.frame()(上の例を参照) や print.data.table() を使うこともできます。また、print.tbl_df() 関数を上書きすることも可能で、次の様な設定を .Rprofile にしておけば print.data.table()(または print.data.frame())がデフォルトで使用されるようになります。

tibble を使用する場合は、表示された数値にくれぐれも注意してください!!

Graphviz 周りの用語

色々な単語が出てくるので、整理しておく。

用語 内容
diagrammeR R におけるグラフ(Graphviz)描画のためのパッケージ
grViz diagrammeR のグラフ描画用の関数。Graphvizにはない @@ 等の機能が追加されている。
Graphviz グラフ描画の本家本元。
dot グラフ記述用の言語。dot 自体は有向グラフ描画用。他に無向グラフ用に NEATO などもある。
viz.js JavaScrit 用のライブラリ。
full.render.js JavaScrit 用のライブラリ。V 2.0 より前はviz.jsだけをインクルードするだけだったが、V 2.0 からはこのライブラリもインクルードしなければならない。

Viz.js – HTMLでGraphviz

前置きはさておき、ここでは「Viz.js」の使用方法を例を持って示していきます。

【js ライブラリの取得】

GitHubから、

  • full.render.js
  • viz.js

をダウンロードして、好みの場所に配置します。

【実行サンプル】

viz-examplesscript-tagをクリックしてディレクトリを開き、その中のno-worker.htmlを開らいてソースコードをコピーします。それを、テキストエディタに貼付け、保存します。

ここでは、「01-original.html」として保存しました。
これを実行すれば、次の様なグラフが表示されるハズです。

【改善 その1】

グラフ記述部分(以下「Dot」)「digraph { a -> b; }」を外出しにします。

更に、(1) を次のように書き換えて見ます。
残念ながら「SyntaxError: ” string literal contains an unescaped line break」
Dot内に「改行」が使えない模様。

【改善 その2】

複雑な Dot を記述する時に、改行やタブが使えないようでは話になりません。
そこで、新たな改善策。

script タグ内に Dot を単独で定義するようにしました。
それを HTML ソースとして入力すれば、改行や余分なスペースが無視されることを利用しています。
これで、Dot 内でも改行が使用できるようになりました。

【改善 その3】

ここまで来ると、Dot を外部ファイルにしたくなるのは当然の成り行き。
ついでに、jQuery と Bootstrap も導入し DOM の操作や style の改善をしておきましょう。

【サンプル集】

  1. Cluster
  2. Data Struct
  3. Crazy
  4. multi_layout

Graphvizのテスト

Graphvizがwordpressでも使えるらしいのでテストしてみます。プラグインには「TFO Graphviz」を使用します。

おお、素晴らしい!

TFO Graphviz 使用方法

ショートコードの一般形式は次の通り。

のリストは下表の通り。

options 説明
height=”<image_height>” イメージタグに height 属性を設定する。SVG に有効
href=”self|<URL>” 画像をクリックした時に表示する URL を指定する。デフォルト:href=””、self:同じウィンドウ、<URL:指定のURL
id=”<id>” 生成された画像をイメージマップにリンクするために使用する識別子を指定する。これを指定しない場合は、”tfo_graphviz_N”(N:1からの連番)が自動生成される。
imap=”yes|no”
imap=”yes|no”
lang=”<dot|neato|twopi|circo|fdp>” 使用する Graphviz インタープリタを指定する。デフォルトは dot
output=”<png|gif|jpg|svg>” 生成する画像フォーマットを指定する。デフォルトは png
simple=”yes|no” コードの周りに非常に基本的な DOT ラッパーが適用される。

このコードは、次のコードが生成される。

title=”<title>” 画像のタイトル。画像を参照するための alt および title 属性で使用する
width=”<image_width>” イメージタグに width 属性を設定する。

Ubuntu 18.04 にTeXlive2018をインストール

LaTeX のインストールについては、apt-get による様々な方法が説明されています。しかし、何れの方法をとっても、RStudio において R Markdown を PDF に変換できないのです。何かが足りないようではあるのですが、その何かが分からない。エラーログが、もう少しユーザフレンドリーであったらな~

そこで、最も確実なインストール方法として TeX Live ホームページの手順に従うことにしたものです。

手順

  1. インストーラのダウンロード
  2. インストーラによる TeXlive のインストール
  3. シンボリックリンクの作成

1.インストーラのダウンロード

TeX Live ホームページに行き、”download” をクリックする。

遷移したページの中から、「install-tl-unx.tar.gz (3mb)」をクリックしてダウンロードする。

ダウンロードしたファイルを解凍します。

2.インストーラによる TeXlive のインストール

TeXlive のインストールは、次のコマンドを実行するだけです。

これを実行すると、ズラズラとメッセージが表示され、最後に次のメッセージが表示され、待ち状態になります。

ここで、「i」を入力して、Enter キーを押下するとインストールが始まります。
時間はかかりますが、操作が単純で余分なことをせずにフルインストールができるのが、素晴らしい点です。

3.シンボリックリンクの作成

インストールが完了したら、”/usr/local/bin”以下にシンボリックリンクを作成します。

(注):「2018」の部分は、TeXLive のリリースバージョン(年)毎に異なります。
これにてTeXliveのインストールは完了です。

動作確認

(1) TeX 文書

次の文書を、”sample.tex” として保存します。

端末から、次のコマンドを入力し、PDF 文書が作成されるかを確認します。

(2) R Markdown

RStudio から次の R Markdown を入力し、knit します。

「mainfont」は、自分の環境に合わせ変更してください。日本語フォントを指定しないと、日本語部分が削除され「2018712」と表示されます。

latex_engine について

latex_engine: lualatex としても latex_engine: xelatex としても、問題なく動作しました。
しかし、これを指定しないとエラーで動作が停止しますので、必ず指定してください。

(参考サイト)

  1. TeX Live 2018 のインストール
  2. Ubuntu 14.04 LTSにTeXlive2015をインストール

-以上-

RStudioで日本語PDF

1.環境

項目 内容
OS windows7
R 3.5.0
knitr 1.20
RStudio 1.1.453
TeXディストリ w32Tex 角藤版

2.R Markdown

RStudioで、新規R Markdownを選択した時に作成される雛形文書そのもの。

3.結果

このまま実行した時の結果。
! Package inputenc Error: Unicode char 蟷エ (U+5E74)

(inputenc) not set up for use with LaTeX.

エラー: Failed to compile 雛形Rmd.tex. See 雛形Rmd.log for more info.
実行が停止されました

どうやら、日本語(Unicode)処理ができないらしい。

4.原因

PDF文書を指定すると、デフォルトのTexとして
(1) windows : MikTex
(2) OSX : MacTex
(3) Linux : TeX Live
のエンジンが使用されるため。
TeX Wikiによれば、
MiKTeX は Microsoft Windwos 向けの TeX のディストリビューションです. TeX Live と並んで国際的に広く使われていますが,日本語 pTeX が含まれていません. 特別な理由がない限り TeX Live または W32TeX の利用をおすすめします.
とのこと。

5.対策

YAMLヘッダーに明示的に、latex_engine として、UTF-8 ベースの TeX を指定する必要があるようです。

文書全体を以下に示します。

6.最後に

Rmdファイルに日本語名を使用したら、見事にコケました
windows上では、日本語のファイル名は使用できないようですので注意してください。
(追)
Linux(Ubuntu18.04)では、日本語ファイル名が問題なく使用できました。

追伸

再テストの結果、上記のR Markdown が一切動作しなくなりました。
Windows 上も Virtual Box の Ubuntu 上でも!
思い当たる点は、
(1) windows – 角藤版を最新にしようとインストーラを起動したこと。結果的には、何もせずキャンセルしたのだが・・・・
(2) Ubuntu – Tex Live のtlmgr が動かないので、その周りの更新等を行ったこと。

一旦、w32Tex(Windows)とTexLive(Ubuntu)を削除し、w32Texは再インストールした。
(Tex Live の再インストールは保留中)
それでも、結果は変わらず。
エラーログからは、エラー内容が全く読み取れず、対策の打ちようがない。
思い悩んだ挙句、思いついたのが「latex_engine」の変更。
「TeXworks」のタイプセットに表示されるものを指定してみよう!
① pdfplatex
指定不可。指定できるのは、pdflatex,lualatex,xelatex の何れかとのこと。
② pdflatex
しからばと、これを指定するも、想定通り Unicode 周りでエラー。
③ lualatex
万歳!問題なくPDFが出力される。
④ xelatex
念のために試してみたが、やはりエラーとなる。

結果として、私の現在の環境では「lualatex」を指定すれば良いようです。
注意
YAMLヘッダに「mainfont」を指定しないと、日本語が表示されないので、次の様に指定する必要があります。

なお、「Meiryo」の部分を「メイリオ」と指定することができませんでしたので、ご注意の程を!

R 起動コマンドの改善(windows編)

RGui を閉じる際に、毎回ワークスペースの保存有無を聞かれるが、答えはいつも[n」なのに・・・
「q(‘n’)」とするのも面倒だし。
こちらのPDF文書およびSlide Shareに、その解決策が記載されていました。
保存有無を問わないようにするには、次の何れかを指定します。

–save ワークスペースを保存して終了
–no-save ワークスペースを保存しないで終了

これを、R のインストール時に作成されたショートカットに設定します。
保存しない場合の設定は、次の通りです。
(1) ショートカットを右クリック、プロパティを開く。
(2) プロパティの「リンク先」を次の通り変更する。
(変更前)”C:\Program Files\R\R-3.5.0\bin\x64\Rgui.exe” –cd-to-userdocs
(変更後)”C:\Program Files\R\R-3.5.0\bin\x64\Rgui.exe” –cd-to-userdocs –no-save
(Rgui の場所は、自分の環境に合わせて変更してください。)
(3) 「OK」をクリックして、変更を保存する。

ubuntu 18.04 への R 3.5 のインストール

UBUNTU PACKAGES FOR Rからの引用。
手順は以下の通り。

/etc/opt/sources.listの編集

最新のR 3.5パッケージを入手するため、/etc/apt/sources.list の最下行に次のエントリを追加する。

追加は、vim でも gedit でも好きなエディタでよい。例えば、gedit なら

とし、上記コードを最下行にコピペし「保存」すればよい。
その際、何やらかんやらメッセージが出るが、ファイルは更新されているので無視してよい。

鍵の設定

(2018/11/15追加)
Ubuntu 鍵サーバにある2番目の鍵に問題があるので、次の何れかの方法でキーを登録する必要がある。

詳しくは、こちらを参照。

R のインストール

SpyderのUpdate

Anacondaのインストールと同時にインストールされた Spyder の Update 方法です。
pipを使用せず、condaを使用するよう促されますので、次の通りコマンドラインから入力します。