RstudioからGithubを使う
正規の方法からちょっとずれたかもしれないので、今回はこういった方法もあるよということで。
RstudioでSSHキーを発番
下記手順でSSHの暗号化キーを生成する。
Tools -> global option -> Git/SVN -> SSH RSA key -> Create RSA Key
Githubにキーを登録
生成したキーをGithubのユーザプロファイルに登録する。生成したところと同じところにView public keyがあるので、その内容をコピペで構わない
Profile SSH and GPG keys -> SSH keys -> New SSH key
ここまでは一度やればいいので、以後リポジトリを増やしたりするたびにやる必要はない。
Githubにリポジトリを作成
この辺は今さら説明することはないかと。名前を付けてCreate repositoryするだけ
RProjectの作成
File -> New Project
この時にCreate git repositoryにチェックを入れないのがポイント。それからRstudioは終了しちゃう。
Git関連の設定をする
プロジェクトのディレクトリに移動してから、ターミナルでgitの設定をする。
echo "# {your_repository}" >> README.md git init #ここで初めてinitする git remote add origin https://{your_id}:{your_pass}@github.com/{your_id}/{your_repository}
終わったらRstudioを起動する。僕の環境ではそれっぽくやるとRstudio内のPush|Pullボタンがグレーアウトしたり、pushするときに怒られたりと散々な目にあって環境を簡単には構築できなかった。git remote addコマンドを打つときにユーザとパスワードを入れるので(もちろん.gitconfigにも残る)、セキュリティも何もありゃしないが、こうでもしないとうまく動かなかったのでやむなくこうした。
ちなみにこんな感じのエラーが出る。
fatal: could not read Username for 'https://github.com': No such file or directory
とりあえずこれでRstudioからGithubへcommit & pushできるようになりました。
参考
Ubuntu15.10にCRANからRをインストールする。
carパッケージを使いたいのに、依存パッケージがR 3.2.3以降じゃないとインストールできないと怒られた。aptのr-baseは現時点で3.2.2なのでCRANからRをインストールすることにした。
ということで、Rのバージョンを更新してcarを入れるまでが今回の目標。
参考URL:
https://cran.ism.ac.jp/bin/linux/ubuntu/README
sources.listの更新
まずはsources.listにCRANミラーを登録する。
sudo vim /etc/apt/sources.list
ファイルに次の一行を追加。使用するCRANミラーを書けばいい。Ubuntuの場合はバージョンによって最後の文字列を変える。今回はマシンがUbuntu15.10(Wily Werewolf)なのでubuntu wilyを記述
deb http://cran.ism.ac.jp/bin/linux/ubuntu wily/
ミラーとして統計数理研究所を使ったが、他のCRANのミラーは下記サイトで確認。日本国内では3つ(実質2つ)登録されている。
公開鍵の取得
CRANサーバに接続するのに公開鍵が必要。READMEを見るとE084DAB9を使えとのこと。
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
通常はこれでできるんだけど、認証プロキシかつポート11371をブロックしている環境では、下記のコマンドで公開鍵を取ってこれる。プロキシはkeyserver-optionを使うことで設定が可能。
gpg --keyserver hkp://keyserver.ubuntu.com:80 --keyserver-option http-proxy=http://your.proxy:8080 --recv-keys E084DAB9
続いて下記コマンドを実行
gpg -a --export E084DAB9 | sudo apt-key add -
ここまででCRANの追加とそこへ接続するための公開鍵の設定が終了。
あとはupgrade
CRANサーバを登録したらあとはいつも通りにやればいい。apt updateとupgradeしたらインストール完了。
sudo apt update sudo apt upgrade
無事にRを3.2.5をインストールできたようです。
version major 3 minor 2.5 year 2016 month 04 day 14 svn rev 70478 language R version.string R version 3.2.5 (2016-04-14) nickname Very, Very Secure Dishes
carのインストール
Rさえバージョンアップできればパッケージはいつも通りにinstall.packaagesコマンドを使うだけ。
install.packages("car")
依存するパッケージがRのバージョンを満たしたため問題なくインストールできたようです。Rのパッケージ作っている人は新しいRでしか面倒見ないという人がちらほらいるようですね。
僕はノストラダムスが怖かった。Future is WILD
特別お題「青春の一冊」 with P+D MAGAZINE
The Future is WILD

- 作者: ドゥーガル・ディクソン,ジョン・アダムス,松井孝典,土屋晶子
- 出版社/メーカー: ダイヤモンド社
- 発売日: 2004/01/08
- メディア: 単行本
- 購入: 7人 クリック: 78回
- この商品を含むブログ (107件) を見る
やはりこれかと。SFの世界がこの世界の延長線上にあることを印象付けた一冊だ。
ノストラダムスの大予言
僕はノストラダムスの大予言が異様に怖かった。1999年7の月が来るのを相当恐れた。新約聖書だってヨハネの黙示録だけを何回も読んだ。そして人類がいなくなった地球のことを考えこむことが多かった。それは生物は何一つ存在しない、植物さえ存在しない岩だらけの星で、さながら原始地球のような想像をよくしていた。
幸いにもノストラダムスの予言どおりに人類は滅亡することはなく、2016年まで時を進めることができている。そんなノストラダムス狂騒が過ぎて誰もが忘れたあたりでこの本は出版されたのを覚えている。
人類滅亡後の世界
海中の生物が陸に上がり、恐竜が覇権をとっていた時代が過ぎ、現在は哺乳類、特に人類が地球の覇権を取っている。人類が滅亡したのちに地球上で蠢く生物はどのようなものだろうか?というのが本書の構成。人類滅亡後は生物が何もいなくなる想像ばかりしていたので、この本の指摘は何もかもが新しかった。これまでの生物の進化の過程などを踏まえて科学的な理論の裏付けから新たな生物を創造、いや想像する。まさかイカが陸上を歩くようになるなんて!8tとかデカすぎだろと思ったが、大王イカといった規格外の生物の発見もされ、ちょうどメガマウスも水揚げされたニュースがでたばかりなので、そんな事もあるかもねと思わせる。
僕はこの本を読むことで何億年も先のことを考え、ノストラダムスの呪縛から一気に解き放たれた気がしたのだ。
SFとはなんだろうか
SFとはScience Fictionの略であり、日本語では空想科学と訳される。SFのジャンルに登場する便利な道具や異形な生物は空想から生み出されている。本書の登場人物(?)も大概が異形な生物だ。きっとそれは何かしら科学的な根拠をもとに想像されたものなのだろうとこの本を読んだ後では思う。きっと僕らの未来もそこにつながっていくのだと。そうでなければただの魔法だ。Science Fantasyだ。
では、未来を想像で語るこの本のジャンルはなんだろうか?同じようにSFなのだろうか?それともScience Future(is WILD)とでもいうべきなのだろうか?
Rの文字列結合
ありがてぇありがてぇ
RPubs - R の文字列結合が面倒くさいので色々考えてみた
Rにおける文字列結合
Rにおける文字列の結合には、他の言語とは違って関数を使わないと結合してくれない。
"foo" + "bar" "foo" + "bar" でエラー: 二項演算子の引数が数値ではありません paste("foo", "bar", sep="") [1] "foobar"
+でやってくれると楽なんだけどなぁ。ということで関数を作ってしまえというのが元エントリ。パクらせてもらいました!!
これを定義した後で+を使えば文字列が簡単に結合できる。ありがてぇありがてぇ
"foo" + "bar" [1] "foobar"
ARIMAモデルで時系列分析および予測
Rのforecastパッケージを使うと(比較的)簡単に時系列分析ができるというので、試してみた。
なにを行うか
10分おきの温度を計測したデータが手元にあったので、ARIMAモデルを使って分析を行い、この後どのように変化するか予測を行う。
データはこんな感じとなっている。
| 項目 | 内容 |
|---|---|
| timestamp | 時刻(unixtime) |
| temp | 温度 |
ARIMAモデルで予測する
forecastパッケージを使い、時系列分析と予測値を出力する。ARIMAと聞いてフィッシャーとかピアソンとかベイズとかにならって有馬という日本人によって提唱されたモデルかと思っていたら、何のことはない自己回帰和分移動平均(AR:Auto Regression I:Integrated MA:Moving Average)の頭文字だったので肩すかしくらったのを覚えている。
結果

黒い線が気温で、グレーや青でプロットされているところが予測範囲。d.arima.forecastに100期先までの予測値が入っているので、その値を使って何かほかのプロセスに使うこともできる。予測するN期のNの値を増やしても平均値に寄っていくだけなので、長期の予測には向かない。
devtoolsでGithubからパッケージを取得する
YOU、Githubなんかで配布しないでCRANに置いちゃいなYO!!
devtoolsのインストール
devtoolsはCRANにいるのでインストールするところから始まるのだけど、そのdevtoolsのインストール時にはまった。なんか必要なライブラリが足りないみたい。でもそれはRのライブラリではなく、Linux(僕の場合はUbuntu)本体のにライブラリが必要とのことだった。devendencyだけではなくR以外で必要なライブラリはヒントだけでも出力してほしいなぁ。
ということで。libcurl4-gnutls-devとlibcrypto++とlibssl-devが必要とのこと。要するにgithubからパッケージを持ってくるからその辺を処理するライブラリが必要なのだと思います。
sudo apt install libcurl4-gnutls-dev libcrypto++ libssl-dev
ののちに
install.package("devtools")
これでdevtoolsのインストールは完了。
Githubからパッケージを取得
devtoolsを入れたら、こんな感じでパッケージを取ってこれます。
install_github("package_you_want")
プロキシ設定
プロキシを見るところが変わるようで、改めて設定しなおす。プロキシの設定自体はこんな感じで。httrパッケージはdevtoolsインストール時にdependencyとしてついてくる。
library(httr) set_config(use_proxy(url="yourproxy", port=8080)) install_github("package_you_want")