読者です 読者をやめる 読者になる 読者になる

★データ解析備忘録★

ゆる〜い技術メモ

tidyverseの正式登場でDockerまわり(rocker)もいろいろ変わってた

R RStudio Docker

はじめに

データ分析では再現性が大切です。しかし、同じコードとデータを使っていても実行環境の違い(OS, ソフトやパッケージのバージョンなど)によって結果が異なることがあります。複数の場所で同じ環境をそろえるための手段の一つとして、はオープンソースコンテナー管理ソフトウェアであるDockerを使うことが考えられます。Dockerのデータ分析での活用については以下の記事が詳しいです。

qiita.com

tidyverseの登場とDockerまわりの変化

さて、昨年のRStudio ver1.0 のリリースとほぼ同時期にtidyverseが登場し、RStudio Server のDockerイメージを提供しているrockerでのコンテナの種類も変わっていたようです。 それまではhadleyverse*1(便利なパッケージ群)とLaTeX環境が入った rocke/hadleyverse がメイン だったのが、現在は追加されるパッケージやソフトに合わせて以下の4つになっています。

rocker/hadleyverseも生きてはいますが、Docker Hub の冒頭に「これじゃなくて代わりにtidyverse使えよ」って書いてあります。

別にhadleyverseを使ったからと言って何か不都合があるわけではないのですが、RStudio Server の環境構築にDockerを使う場合や自分でDockerイメージを作る場合は頭の片隅に入れておくと良さそうです、&tidyverse周りはまだこれからも変わる(とHadley Wickhamが仄めかしている)可能性が高いので、Rのパッケージと同時にDockerまわりも注視していきたいです。

2016 年を雑に振り返る

雑記

年の瀬ですので、2016 年を簡単に振り返りたいと思います。 プライベートのことをここで言ってもしょうがないので、それ以外のことで。 あとリンクばっかりです。すいません笑

ブログを始めました

1 月このブログを開設しました。 自己紹介的な記事が全くなかったのでこの場でちょこっと説明しますと、 2015 年にゼミに入り、プログラミングにしても統計学機械学習の理論にしても学ぶ量が急激に増え、1 ヶ月前に勉強したことなどをよく忘れるようになってしまいました。特にデータの前処理のためにちょこっと書いたものに我流の工夫があるときや、Python などの最初の環境構築など、あとで見返しても何をやっているのか分からないことが頻繁に起こるようになりました。 これじゃいかんということで、ちょっとした解説を入れたコードなどを保存する場所としてこのブログを始めました。

続きを読む

Emacsで作るオレオレRStudio

Emacs R RStudio エディタ

この記事は RStudio Advent Calendar 2016Emacs Advent Calendar 2016 22 日目の記事です。

  • はじめに
    • そもそもなぜ RStudio じゃダメなのか
    • 無ければ作る!それが・・・
  • 環境
  • 準備
  • Emacs を RStudio っぽく
    • ESS
    • 補完
    • オブジェクト構造の確認
    • オブジェクトの中身
    • ヘルプを引きたい
  • もっと RStudio っぽく
  • R Markdown と R Notebooks
    • 基本設定
    • チャンク挿入
    • R Notebooks について
      • 画像のインライン表示
  • その他
    • オブジェクトに色付け
    • パイプ演算子の挿入
  • でもやっぱり RStudio が恋しい!
  • RStudio とは直接関係ないやつ
    • Evil モード
    • electric-operator.el
    • rainbow-deliminators.el
    • magit.el
  • まとめ
続きを読む

Emacs (ESS) で SAS のシンタックスハイライトを直す

Emacs SAS エディタ

はじめに

今回は小ネタです。

みなさんは SAS コードを何で書いてますか? Atom? Sublime Text? Vim? Emacs? 僕は Emacs で書いてますが、エディタの好みは人それぞれなので、好きな物を使えばいいと思います。

さて、EmacsSAS を編集する際に便利なのが ESS(Emacs Speaks Statistics) というパッケージです。 これは統計系の言語に対してシンタックスハイライトや補完をしてくれるもので、対応言語は以下のとおりです。

  • R
  • S-PLUS
  • SAS
  • STATA
  • BUGS/JAGS
  • Julia

ここに SAS が含まれているのでこれを使えばいいのですが、この SAS-mode のシンタックスハイライトがデフォルトでは少しおかしいです。 たとえば、proc sqlproc fedsql を使ったコードを書こうとすると下図のようになってしまいます。

f:id:songcunyouzai:20161216023415p:plain:h300
続きを読む

{haven}パッケージでストレスなくRとSASで分析する

R SAS

前置き

僕のメイン言語はSASとRなので、この二つを連携させたり行き来したりということがどうしても発生します。*1 そんなわけで、以前SASの中でRを動かす方法を書きました。

SAS/IML StudioでRを使う - データ解析備忘録

SAS/STATでもPROC IMLしてRを使う - データ解析備忘録

SASの中でRからSASにデータを渡す - データ解析備忘録

RでSASファイル(.sas7bdat)を扱う

一方、RでSASファイル(拡張子は.sas7bdat)を読む方法も以下の記事で触れてます。

sas7bdatファイルの作成と各種ソフトでの読み込み - データ解析備忘録

Rでsas.7bdat形式を読むパッケージとして{sas7bdat}、{foreign}、そして神Hadleyの作りし*2{haven}があるわけですが、これまで僕は安定さを理由に*3{sas7bdat}をよく使っていました。ただ、このパッケージは遅い上に読み込みしかできません。

ところが、先日のアップデートで色々変化があったのでそれを書こうと思います。

*1:大規模データだとSASでないとできない場合もあるし、可視化はやっぱりRの方が楽だし綺麗なので。あと形態素解析のようにSASではできないものも意外とある。

*2:tidyverseの関係で、今はHadleyひとりのものではないようです。

*3:{haven}だと読み込めないことが結構あった。

続きを読む