Entries from 2008-03-01 to 1 month

生存時間解析その1

生存時間を確率変数として考える。。。うーん,よくわからないぞ,と思い,「ろうそく」を思い浮かべてみた。うん,これだ!ろうそく(生存時間)の確率密度関数があって,その分布関数が。例えば,死亡率をハザード関数という関数で考えるならば, となる。…

比例オッズモデルの図

普通のロジスティック回帰モデルを考える。さらに,逆のロジスティック回帰モデルを考える。その帳尻を合わせる。よくまあ考え付いたものだ。 比例オッズモデルについては千野先生のホームページも詳しい。あとはたぶん,Agresti(2002)とか。 http://www.aic…

NOT関数,条件式の否定

SAS

例えば,変数aの値がBとCの場合にフラグを立てるときにはIN関数を用いることが考えられる。ではBとC以外にフラグを立てたいときはどうすればよいか?B,Cのみならずいくつかの値以外にフラグを立てたいときはどうすればよいか? そういう場合に使えるのがNOT…

subjectごとにPROC STANDARD;

SAS

被験者間変動が大きいとき,それを取り除いて別の変化が見たい場合がある(たとえば,被験者内変動)。そういうときは被験者ごとにデータを中心化することも考えられる。プログラムは以下。 data d1; input subject v1; cards; 1 100 1 150 1 130 2 250 2 27…

subjectごとにPROC STANDARD;

SAS

被験者ごとに値の違いが大きいとき(被験者間変動が大きいとき),その違いをなくして検討するために,被験者内の値を中心化することが考えられる。 私の場合,被験者間変動が大きすぎて,それ以外の変化(たとえば,被験者内変動)を視覚的に見ることが難し…

文字,文字変数に対するformat

SAS

例え文字変数であっても,Formatを別につけたい場合がある。 そういうときは以下。 data d1; input char $; cards; A B ; run; proc format; value $charf 'A'='another_A' 'B'='another_B'; run; proc print data=d1; var char; format char $charf.; run;

call symputが実行されるのは?

SAS

DATAステップにて,call symputが実行されるのはプログラムが実行される(つまりrunの)段階である。 つまり,以下のようなプログラムだとうまくいかない。 %macro mm(value); data d1; a=&value; if a>0 then call symput('flg',1); else call symput('flg'…