Triad sou.

SAS/STAT 13.2

またバージョンが上がったいたらしい!
かなり使い勝手がよくなりそうな機能拡張が含まれているので、結構期待しています(特にNLMIXED)。

GEE Procedure (評価版)

ついにGEEのProcedureが出たらしい。
Observation-specific and subject-specific weighted estimating equationsを実装とのこと。
Liang and Zeger (1986)のGEEとあるので、GEE1だけっぽい?

追記

CAUSALTRT procedure (評価版?)

GEEに加え (Weighted Methods for Analyzing Missing Data with the GEE and CAUSALTRT Procedures) doubly robust estimation approachについて実装したCAUSALTRT procedureも追加されるらしい。
昨今注目が集まっているためか、missing data関係の解析ソフトウェアが整備されていくのはうれしい。

ICPHREG Procedure

13.1のICLIFETESTに続き、ICPHREGも出た。
区間打ち切りの生存時間解析もやりやすくなりましたね。

機能拡張

  • NLMIXED procedureが複数のRANDOM statementをサポート。これで、階層構造を持った変量効果のモデリングが簡単にできるようになるはず。
  • FREQ procedureがオッズ比と相対リスクに対するスコア信頼区間をサポート。
  • MCMC procedureがカテゴリカルな確率分布をサポート(MODEL, RANDOM, PRIOR statment)。


その他にも色々更新されていました (SAS/STAT(R) 13.2 User's Guide)。
無料版のSAS University Editionではまだ使えないようでした (PROC PRODUCT_STATUS; run;でバージョン確認できます)。

SAS University Editionでグラフを描く

SAS University EditionにはSAS/GRAPHが含まれていないため、グラフ用のプロシジャについてが気がかりでした。
SAS/GRAPHのGPLOT Procedure等に慣れ親しんでいる人も多いと思いますが、残念ながらSAS University EditionではGPLOTは使えません。
しかし、SAS 9.2まではSAS/GRAPHに含まれていたODS Graphicsが、SAS 9.3以降からはBase SASに含まれるようになった関係で、SGPLOT ProcedureやSGPANEL Procedureが使える様です。


SGPLOT ProcedureはRのggplot2と同様に、グラフのパーツを重ねて描きやすい設計になっており、個人的には使いやすいです。
SGPANEL Procedureはggplot2 + facetのような機能のプロシジャで、サブグループ別のグラフが簡単に作成できます。


例えば、散布図を描くと以下のような出力が得られます。

data x;
g = 1;
x = 1; y = 1; output;
x = 2; y = 2; output;
x = 3; y = 3; output;
x = 4; y = 4; output;
x = 5; y = 5; output;
g = 2;
x = 1; y = 2; output;
x = 2; y = 3; output;
x = 3; y = 4; output;
x = 4; y = 5; output;
x = 5; y = 6; output;
proc sgplot data = x;
where g = 1;
scatter x = x y = y;
run;
proc sgpanel data = x;
panelby g;
scatter x = x y = y;
run;


SAS Analytics U

SASからSAS University Editionというソフトがリリースされていました。


含まれるパッケージは、BASE SAS(R), SAS/STAT(R), SAS/IML(R), SAS/ACCESS(R) TO PC FILES およびSAS STUDIO(R)だそうです。
Mac, Linuxでも使用できるようです。


FAQによれば、非商用利用であれば、高等教育機関に所属しているかどうかに関係なく、どなたでも学習や学術調査の目的で利用できるそうです。

インストール

VMでサーバーを動かして、Webのインタフェースからプログラミングと解析の実行をするようです。
Oracle VirtualBoxVMwareをインストールする必要があるようです。

インストール手順概要は

  1. VMをインストール
  2. VMイメージを読み込む
  3. myfoldersという名前の共有フォルダを作って、VMの設定画面等でパスを入力する
  4. VMを起動
  5. サーバー画面に http://localhost:10080 とか http://123.456.789.101 と表示されるので、これをブラウザのアドレスバーに入力する
  6. ブラウザからSAS STUDIOが起動する

といった感じでした。
インストールマニュアルがあるので、さほど苦労はしないと思われます。

関連リンク

SAS STUDIO

SASのWebのインターフェースでした。
コード補完してくれるエディタが付いていて、ショートカットキーも使用できました。
Rユーザ向けに言えば、Server版のR Studioをローカルから使うような感じですね。

SAS/STAT

搭載バージョンは13.1で、最新のものでした。
したがって、

  • GLMSELECT ProcedureでAdaptive lasoo
  • PHREG Procedureで生存時間解析やFine-Grayモデル
  • MIXED Procedureで線形混合モデル
  • GLIMMIX Procedureで一般化線形混合モデル
  • NLMIXED Procedureで非線形混合モデルや一般のモデル
  • ICLIFETEST Procedureで区間打ち切りデータの解析
  • IRT Procedureでitem response models
  • MI ProcedureにはMNAR statementが追加されているので使いやすくなった!
  • MCMC ProcedureでMCMC (13.1からmulti thread化; ただしSAS University Editionは2コアまでしか割り当てられないようです)

などもとても簡単に実行できるでしょう。


SAS/STATでできる事の一覧は

などを参照のこと。
ちなみに、↑に書いていないことも死ぬほど沢山できるので、SAS/STATヘルプファイルを熟読すると良いでしょう。
各手法のサンプルプログラムが付いていますので、参考になります。

感想

非商用利用のみとはいえ、SASが無償で使えるとなると、助かる人が沢山いそうですね。

sashelp.vcolumn と sashelp.vtable によるデータセット情報の抽出

sashelp.vcolumn や sashelp.vtable などには、SAS にロードされた全データセットの情報が格納されている。
そのため、フォーマットだったり、オブザベーション数だったり、変数の数だったり、他にも非常に細かい情報を取り出すことができる。
大胆だなぁ。

proc format;
  value myfmt 1 = "Yes" 2 = "No";
run;

data test;
  x = 1;
  y = 2;
  z = 1;
  output;
  x = 2;
  y = 2;
  z = 2;
  output;
  format x best32. y best8. z myfmt.;
data test2;
  x = 1;
  y = 2;
  z = 1;
  output;
  format x best32. y best8. z myfmt.;
run;

proc print data = sashelp.vcolumn;
  where libname = "WORK" & memtype = "DATA";
  var libname memname format;
run;

proc print data = sashelp.vtable;
  where libname = "WORK" & memtype = "DATA";
  var libname memname nobs nvar;
run;
 Obs    libname    memname    format

6468     WORK       TEST      BEST32.
6469     WORK       TEST      BEST8.
6470     WORK       TEST      MYFMT.
6471     WORK       TEST2     BEST32.
6472     WORK       TEST2     BEST8.
6473     WORK       TEST2     MYFMT.
Obs    libname    memname    nobs    nvar

806     WORK       TEST        2       3
807     WORK       TEST2       1       3

RcmdrPlugin.KMggplot2_0.2-0 is on CRAN now

I posted a new version of the "RcmdrPlugin.KMggplot2" package, which is an Rcmdr plug-in for a "ggplot2" GUI front-end.
This package assists you to make "ggplot2" graphics.

NEWS

Changes in version 0.2-0 (2013-01-23)
  • Added themes: classic, minimal (ggplot2-0.9.3).
  • Added themes: tufte, economist, solarized, stata, excel, igray, few, wsj (ggthemes).
  • Kaplan-Meier plot: added a option to show a p-value of the log-rank test (Thanks to Sharma Vivek).
  • Kaplan-Meier plot: added a option to draw a line at median survival (Thanks to Sharma Vivek).
  • Scatter plot matrix: fixed bugs and reimplemented, because the ggplot2::plotmatrix() is deprecated.
  • Scatter plot matrix: added stratified plots.
  • Modified start-up for the problem that Commander window open twice when a plug-in is loaded via library() (see Rcmdr 1.9-3 NEWS). In RcmdrPlugin.KMggplot2 0.2-0, you can directly load by library(RcmdrPlugin.KMggplot2).
themes
  • theme_classic (ggplot2)


  • theme_minimal (ggplot2)


  • theme_tufte (ggthemes)


  • theme_economist (ggthemes)


  • theme_solarized (ggthemes)


  • theme_stata (ggthemes)



  • theme_igray (ggthemes)


  • theme_few (ggthemes)


  • theme_wsj (ggthemes)

Kaplan-Meier plot: log-rank p-value and lines at median survival

Scatter plot matrix: stratified plots

Firefox のタブが接続中のままになるエラー

エラー: ReferenceError: oldSetTabTitle is not defined
ソースファイル: chrome://tabmixplus/content/utils.js
行: 347

こんなエラーがでてタブの名前が全部接続中に・・・
Tab Mix Plus をオフにするとなおるけどどうしたもんか。



アドオンのソースを調べると IE Tab 2 と干渉していたらしい事が分かった。
IE Tab 2 の方はあまり使わないので切っておくことにしたら無事解決した。
IE Tab 2 修正版 (4.12.22.2) にアップデートしてもなおるみたいです。

エラーが起きた環境