Triad sou.

SAS

SAS/STAT 14.2

SAS

New Procedures 最近は因果推論関係に力をいれているのか、procedure がふたつ追加されていました What's New in SAS/STAT 14.2 - New Procedures)。 CAUSALTRT Procedure: 二値 or 連続アウトカム、二値の治療変数の場合の average causal effect (ATT と A…

SAS/STAT 14.1 が出たようだ

SAS

Enhancements in SAS/STAT 14.1 Software 以下の変更点が特に気になった。 LIFETEST Procedureが Gray's test + CIF のノンパラメトリック推定量 (Gray 1988) に対応 (かなりうれしい!) MIXED Procedure でも ddfm = KENWARDROGER2 が追加された、Kenward &…

SAS University Editionのアップデート

SAS

いつのまにかアップデートがきていたようで、SAS/STAT 13.2が利用できるようになっていました! バージョンの確認 PROC PRODUCT_STATUS; run; テスト実行 GEE Procedureも実行できました。

SAS/STAT 13.2

SAS

またバージョンが上がったいたらしい! かなり使い勝手がよくなりそうな機能拡張が含まれているので、結構期待しています(特にNLMIXED)。 GEE Procedure (評価版) ついにGEEのProcedureが出たらしい。 Observation-specific and subject-specific weighted e…

SAS University Editionでグラフを描く

SAS

SAS University EditionにはSAS/GRAPHが含まれていないため、グラフ用のプロシジャについてが気がかりでした。 SAS/GRAPHのGPLOT Procedure等に慣れ親しんでいる人も多いと思いますが、残念ながらSAS University EditionではGPLOTは使えません。 しかし、SAS…

SAS Analytics U

SAS

SASからSAS University Editionというソフトがリリースされていました。 SAS Analytics U 含まれるパッケージは、BASE SAS(R), SAS/STAT(R), SAS/IML(R), SAS/ACCESS(R) TO PC FILES およびSAS STUDIO(R)だそうです。 Mac, Linuxでも使用できるようです。 FA…

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

SAS

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

任意の底の対数

SAS

proc fcmp outlib = sasuser.funcs.logbase; function logbase(x, base); return (log(x) / log(base)); endsub; run; options cmplib = sasuser.funcs; data test; a = logbase(48, 7); b = logbase(49, 7); proc print; run;OBS a b 1 1.98940 2

set end; データステップで最後のオブザベーションのみ出力する方法

SAS

これは覚えておくとお得かもしれません。 set data; by variable; if last.variable then output; の仲間ですね。 data sample; input x y z @@; cards; 1 2 3 4 5 6 7 8 9 ; data sample_final; retain xx xy xz yy yz zz 0; set sample end = final; xx = …

コメント化・コメント解除のショートカット

SAS

小ネタ Windows 版 SAS の Enhanced Editor では、文字列を選択し "Ctrl + ?" を押すと 選択範囲をコメント化できる。 "Ctrl + Shift + ?" を押すと 選択範囲のコメントを解除できる。

FREQ procedure の sparse オプションについて

SAS

最近 FREQ procedure をよく使ってます、便利ですよね。 FREQ procedure は便利なのですが、table statement 中の out オプションで分割表の集計結果をデータセットに出力するときに、デフォルトでは度数が 0 のセルを出力してくれません。 0 セルを出力した…

ods pdf ステートメントで高解像度のグラフを作ろう

SAS

ods pdf のデフォルト出力は解像度が残念すぎて、とても使う気にはなれません。 という事で、解像度の設定について調べてみたら、dpi というオプションがありました。 ods results off; ods listing close; ods pdf file = "&Path.filename.pdf" dpi = 600 s…

ods results statement

SAS

SAS で ods output するときに解析結果が大量あると、Results のツリー出力に時間がかかることがあります。 Output 画面への出力制御は ods exclude statement で設定出来ますが、ツリー出力の場合は ods results statement で設定できます。 data sim; do r…

SAS 9.2 で Enhanced Editor が表示されない現象が治った

SAS

いくつかの PC に SAS 9.2 をインストールしてあるのですが、そのうち 1 台だけ起動すると、 Enhanced Editor Unable to load managed editor component. Error: 0x80040154. The editor may not be installed properly.OLE: Out of memory.このようなエラー…

Enterprise Guide が起動直後に停止する

SAS

SAS Enterprise Guide 4.2 を Windows 7 に入れてみたところ SAS Enterprise Guide にエラーが発生しました。 作業中のファイルを保存して SAS Enterprise Guide を再起動してください。という、まるでだめなエラーメッセージを吐いて終了してしまった。 詳…

SAS 9.2 でファイルタイプの関連付けを再設定する方法

SAS

Usage Note 32464: Registering file types via the SAS Filetype Registration Utility for SAS 9.2 Phase 1 and SAS Enterprise Guide を使う。 上の記事内の [1. Navigate to Index of /techsup/download/pc.] のリンクからユーティリティーをダウンロー…

DDE を使って Excel シートの指定範囲を初期化する SAS マクロ

SAS

%macro DELSHEET(rc); %local vlen nlen k var; data _null_; rc = "&rc."; s = find(rc, "R"); e = find(rc, "C"); r1 = substr(rc, s+1, e-s-1); s = e; e = find(rc, ":"); c1 = substr(rc, s+1, e-s-1); rc = substr(rc, e+1, length(rc)-e); s = find(r…

Wilcoxon の符号付き順位検定と符号検定

SAS

なに procedure だっけ、と思って調べたのでメモ。 data d1; input x1 x2 @@; diff = x1 - x2; cards; 10 12 20 21 30 21 15 18 10 22 ; proc univariate data = d1; var diff; output out = t1 t=t probt=probt msign = msign probm = probm signrank = sig…

一般化線型モデルと乱数

ちょっとだけ勉強したのでメモしておこう。 一般化線型モデル まず、確率変数ベクトル $\mathbf{Y}$ の期待値ベクトルを \[ \boldsymbol\theta=\mathrm{E}(\mathbf Y) \] と書いておきます。 一般化線型モデルと呼ばれている統計モデルでは、 \[ g(\boldsymb…

SAS Excel一括変換するマクロ (2)

SAS

SAS Excel一括変換するマクロ に書いたものを改良したものです。 最近は R ばかり使っていたので、作ったのを忘れていました (2007/07/02に作った物を多少弄ってあります)。 Macro Name: SAS to Excel (xls / csv) batch conversion macro Author: Triad Sou…

mcmc procedure

SAS

せっかくなので触ってみました。 data logistic; call streaminit(88745623); a = 0; b = 1; do i = 1 to 200; do x = 0 to 1; logit = a +b * x; p = exp(logit) / (1 + exp(logit)); y = rand("Bernoulli", p); output; end; end; keep x y; run; ods list…

ODSの出力形式

SAS

意外に色々あるんですね。 ods listing close; ods pdf file = "c:\out.pdf" style = Journal; ods graphics on; proc xxxx; run; ods graphics off; ods pdf close; ods listing; その他使いそうな形式。 ods csvall file = "c:\out.csv"; ods rtf file = "…

annotateで背景の色分けをしてみよう

SAS

SAS/Graphのannotate機能のBAR関数を使います。 proc datasets lib = work kill; run; option linesize = 130 pagesize = 500 mprint; dm 'log; clear; output; clear'; %let execpath = " "; %let Path = " "; %macro setexecpath; %let execpath = %sysfun…

SAS 9.2のインストール

SAS

インストーラが9.1.3と全く違いました。 Windowsで統計解析ソフトウェアとして使うだけなら9.1.3の方が使いやすかった。 サーバ型ソフトウェアとか、他の使い方なら使いやすいんだろうか? SAS Deployment Wizardの使い方がよく分からず(インストーラみたい…

SAS 9.2が導入された

SAS

私事になるが、SAS 9.2が導入された(まだインストールしていないけど)。 グラフ関係とベイズ関係の procedure は早めに触っておこうと思う。

gplot procedureの参照線

SAS

検索してきた方がいたのでメモ。 proc datasets lib = work kill; run; option linesize = 130 pagesize = 9999 mprint; dm 'log; clear; output; clear'; %let execpath = " "; %let Path = " "; %macro setexecpath; %let execpath = %sysfunc(getoption(s…

カラーパレットマクロ

SAS

便利かなと思って作成してみました。 data palet; input color depth code $ @@; cards; 1 1 cxA60000 1 2 cxBF3030 1 3 cxFF0000 1 4 cxFF4040 1 5 cxFF7373 2 1 cx85004B 2 2 cx992667 2 3 cxCD0074 2 4 cxE6399B 2 5 cxE667AF 3 1 cx48036F 3 2 cx602580 …

HTML特殊文字の出力

SAS

DDEを使ってExcelに出力するときに、特殊文字を出力する方法が無いか調べてみました。 & (&)等はコードを使わなくても普通に出力出来ますが、– (–)等はうまく出力出来ません。 文字をSASのエディタにコピーすると "?" に化けてしまいます(画像の16…

実行ディレクトリを取得するマクロ

SAS

SASスクリプトをバッチ実行したときや、実行元のSASスクリプトファイルがあるディレクトリにファイル出力したり、グラフ出力したりするために作った物です。 多分2006年頃に作ったものですが、書く事もなかったので挙げなおしました。 マクロ本体 %macro set…

リサンプリングを用いた多重比較

理論的な説明はとりあえずすっ飛ばして、 今回は、果たしてどういう計算をしているのか、という視点でまとめます。今回使うのは [1] に書かれている有名な方法で、一部では min P とも呼ばれるらしいです。 リサンプリングによって全ての比較が帰無仮説の時 …