レニー・二―ハウス 作曲 シンフォニエッタ (Lennie Niehaus’ Sinfonietta for Brass Quintet)
私的にはブラスアンサンブルのコンサートなら、こういうのを1曲は聴きたいと言うような曲です。しばらく時間がたってからまた、このコンサートで聴きたいです。
レニー・二―ハウス 作曲 シンフォニエッタ (Lennie Niehaus’ Sinfonietta for Brass Quintet)
私的にはブラスアンサンブルのコンサートなら、こういうのを1曲は聴きたいと言うような曲です。しばらく時間がたってからまた、このコンサートで聴きたいです。
こちらの記事で使用したSQLのスクリプトです
コマンド | フィールド名 |
---|---|
クエリ名 | 0010 work_csr q |
説 明 | |
select_into | [0010 work_csr] |
select | [_drug].PERSON_ID |
select | [_drug].D_STD |
select | [_condition].C_STD |
select | Switch([D_STD]<[C_STD],"D->C",[D_STD]>[C_STD],"C->D",True,"UNK") AS FLG INTO [0010 work_csr] |
from | _drug INNER JOIN |
from | _conditiON |
from | [_drug].PERSON_ID = [_condition].PERSON_ID |
group by | [_drug].PERSON_ID |
group by | [_drug].D_STD |
group by | [_condition].C_STD |
group by | Switch([D_STD]<[C_STD],"D->C",[D_STD]>[C_STD],"C->D",True,"UNK") |
クエリ名 | 0020 work_out q |
説 明 | |
select_into | [0020 work_out] |
select | [0010 work_csr].FLG |
select | Count([0010 work_csr].PERSON_ID) AS [Count] INTO [0020 work_out] |
from | [0010 work_csr] |
group by | [0010 work_csr].FLG |
クエリ名 | 0030 work_output1 q |
説 明 | |
select_into | [0030 work_output1] |
select | Sum(IIf([0020 work_out].[FLG]="D->C",[0020 work_out].[Count],0)) AS DC |
select | Sum(IIf([0020 work_out].[FLG]="C->D",[0020 work_out].[COUNT],0)) AS CD |
select | Sum([0020 work_out].Count) AS TOTAL |
select | [DC]/[CD] AS CSR INTO [0030 work_output1] |
from | [0020 work_out] |
group by | [DC]/[CD] |
クエリ名 | 0040 D_TOTAL q |
説 明 | |
select_into | [0040 D_TOTAL] |
select | Count([_drug].[PERSON_ID]) AS D_TOTAL INTO [0040 D_TOTAL] |
from | _drug |
クエリ名 | 0050 C_TOTAL q |
説 明 | |
select_into | [0050 C_TOTAL] |
select | Count([_condition].PERSON_ID) AS C_TOTAL INTO [0050 C_TOTAL] |
from | _condition |
クエリ名 | 0060 D_COUNT q |
説 明 | |
select_into | [0060 D_COUNT] |
select | [_drug].[D_STD] |
select | Count([_drug].[PERSON_ID]) AS D_COUNT INTO [0060 D_COUNT] |
from | _drug |
group by | [_drug].[D_STD] |
クエリ名 | 0070 D_COUNT2 q |
説 明 | |
select_into | [0070 D_COUNT2] |
select | [0060 D_COUNT].D_STD |
select | [0060 D_COUNT].D_COUNT |
select | [_condition].PERSON_ID |
select | [_condition].C_STD INTO [0070 D_COUNT2] |
from | [0060 D_COUNT], _condition |
where | ((([C_STD]-[D_STD])>0)) |
order by | [0060 D_COUNT].D_STD |
クエリ名 | 0080 D_COUNT3 q |
説 明 | |
select_into | [0080 D_COUNT3] |
select | [0070 D_COUNT2].D_STD |
select | Count([0070 D_COUNT2].D_COUNT) AS [COUNT] INTO [0080 D_COUNT3] |
from | [0070 D_COUNT2] |
group by | [0070 D_COUNT2].D_STD |
order by | [0070 D_COUNT2].D_STD |
クエリ名 | 0090 D_COUNT4 q |
説 明 | |
select_into | [0090 D_COUNT4] |
select | [0080 D_COUNT3].D_STD |
select | [0080 D_COUNT3].COUNT |
select | [0060 D_COUNT].D_COUNT INTO [0090 D_COUNT4] |
from | [0080 D_COUNT3] INNER JOIN |
from | [0060 D_COUNT] ON |
from | [0080 D_COUNT3].D_STD = [0060 D_COUNT].D_STD |
order by | [0080 D_COUNT3].D_STD |
クエリ名 | 0100 D_COUNT4 q |
説 明 | |
select_into | [0100 D_COUNT4] |
select | [EXP_C] AS TOTAL_SUM |
select | [0090 D_COUNT4].D_STD |
select | [0090 D_COUNT4].COUNT |
select | [0090 D_COUNT4].D_COUNT |
select | [0050 C_TOTAL].[C_TOTAL] AS N |
select | [COUNT]/[N] AS P |
select | [P]*[D_COUNT] AS EXP_C INTO [0100 D_COUNT4] |
from | [0090 D_COUNT4], [0050 C_TOTAL] |
group by | [EXP_C] |
group by | [0090 D_COUNT4].D_STD |
group by | [0090 D_COUNT4].COUNT |
group by | [0090 D_COUNT4].D_COUNT |
group by | [0050 C_TOTAL].[C_TOTAL] |
group by | [COUNT]/[N] |
group by | [P]*[D_COUNT] |
クエリ名 | 0140 D_EXP q |
説 明 | |
select_into | [0140 D_EXP] |
select | Sum([0100 D_COUNT4].EXP_C) AS D_EXP INTO [0140 D_EXP] |
from | [0100 D_COUNT4] |
クエリ名 | 0150 OUTPUT2 q |
説 明 | |
select_into | [0150 OUTPUT2] |
select | [0140 D_EXP].[D_EXP] |
select | [0040 D_TOTAL].D_TOTAL |
select | [D_EXP]/[D_TOTAL] AS A |
select | [A]/(1-[A]) AS NSR INTO [0150 OUTPUT2] |
from | [0140 D_EXP], [0040 D_TOTAL] |
クエリ名 | 0160 ASR q |
説 明 | |
select_into | [0160 ASR] |
select | [0030 work_output1].CSR |
select | [0150 OUTPUT2].NSR |
select | [CSR]/[NSR] AS ASR |
select | [0030 work_output1].CD |
select | [0030 work_output1].DC INTO [0160 ASR] |
from | [0030 work_output1], [0150 OUTPUT2] |
前記事で悩んでいた部分がクリアになってきました。そして、自宅SASのライセンスが切れていたという問題も解決しました。
このSASは無料で使用できてちょっとテストコードを走らせるのにはいいんですが、ビッグデータは扱えないなどの制限があります。OSIM2の巨大データも読み込めません。ただ、元データが大きくても実際の解析対象をデータを抽出して、絞ってデータのサイズを小さくすれば無料SASでも十分データ集計ができます。とりあえず、抽出した後の、_drug _conditionのデータからスタートです。こんな感じのSASスクリプトを実行しました。
これは、基本的に他人様の書いたスクリプトなので、この結果が正解だろうという前提で提示しています。
で、同じデータを自作のスクリプトでも実行。自作スクリプトはSQLで集計して、統計的な集計はRで実行、と言う2段構えにしました。データ集計はSQLが快適で良いのですが、F分布の確率密度関数の扱いがSQLだけでは私が苦手なので、データを出力してRスクリプトを実行しました。初めからRでデータ集計をしたら良いのでは?と思うかもしれませんが、Rは大きなデータをデータフレームに入れようとすると、全部オンラインメモリに読み込もうとするのかメモリを食うわ、何かデータのコピーを繰り返すのかスピードが落ちるわ。しまいにはゲロはいて死んでしまいます。ですので、仕方なしにこんなことしています。で、次が実行結果です。
ASR_UCI, ASR_LCIの値が、SASの出力と微妙に一致しません。今回はすぐ気付いたけど、実は当初悩んでいたのも、この問題だったりして。
上手のASRやNSRの出力を見て気づきました。以前と同じ失敗をやらかしてしまったようです。windowsのコントロールパネルの言語設定の追加の設定
の数値タブの小数点以下の桁数を増やします。
データを読み込みなおして、気を取り直して実行です。
これなら、SASの正解と一致します。めでたしめでたし。
SSAの理解も深まってきたし、これで集計する道筋がついたぞ。
前記事の続きです。入り口でつまずいていると言うことでした。仮想の症例集団を作って何を悩んでいるかを書いてみます。
上の図の例では、調査期間中に薬剤Aを新規に使用した患者数 n = 3 です。ここは、問題ありません。とりあえず、この点の解釈に関係のないイベントは表示しません。Aの文字があって灰色の四角が伸びているところが薬剤Aの使用を示します。
悩みどころの元資料の文言です。
ここで、誤解したのが、日本語の資料に記載された「調査開始x日目における薬剤Aの新規に使用した患者数 nx」です。私はじっくり何回読んでも、日本語として落ち着かない感じがします。この言葉を私なりに普通に解釈すると”調査開始x日目に薬剤Aが新規に使用された患者数、つまり nx = 3”になります。調査期間中に薬剤Aが新規に使用された患者のうち、x日目に使用されていた患者数、と読み替えてしまいます。この解釈が誤りであるのは原著1を読むと一目瞭然です。
(原著では薬剤AではなくAD( antidepressant; 抗うつ薬)、x日目ではなくindex dayで説明されています) number of persons presenting their first antidepressant prescription on index day 日本語にするのであれば「調査開始x日目に薬剤Aが初めて処方された人数」つまり図の例ではnx=1です。
「使用する」というと、患者が服用していることも「使用する」だし、医師の立場からすると処方する行為も意味するかもしれません。「処方する」という具体的な診療行為を、「使用する」といういろいろな意味に解釈されかねない言葉に置き換えてしまったこともさることながら、「における」という、思考停止キーワードを用いてしまったことも指摘しましょう。(「におけるしす」も参考にしてください。「白衣を脱いだらみな奇人」―平盛 勝彦)
私が自宅で使用しているSASの起動画面です。しばらく起動していなかったのですが、お知らせのところを読むとライセンスが切れていた事が判明しました。
更新ボタンのクリックだけでは先に進まないようです。
この画面の「続行」ボタンを押しても更新されません。再度バーチャルマシンをダウンロードして仮想アプライアンスの再登録からやり直す必要がありそうです。ちょっとめんどくさそうです。何時しようかな、とりあえずバックグラウンドでバーチャルマシンのダウンロードだけはしておこう。
今朝出勤時、太陽の光が雲を下から照らしていて、雲が黄金色に輝いていました!
iPodから送信
以前Sequence Symmetry Analysis (SSA) がイマイチうまく算出できないという話を書いて、そのまま放置していましたけど、ここの所American College of Physiciansで新しいプロジェクトを開始するという件が、いよいよ動き出すことになってその準備が佳境に入ってきています。先週は、平日に会社を1日休んで準備にあてていました。勤労感謝の今日もかなりの時間をその準備に使っています。旗振り役の某大学の先生とも電話で打ち合わせしましたが、彼女は勤労感謝の今日も休日出勤で一日中病院にいらしたという事で、それでも、学会のプロジェクトの仕事もされていたようです。そうまでして、こういうプロジェクトをしようと言うバイタリティには脱帽です。わたしも、ACPのプロジェクトが忙しくなってきたので他の事はぼちぼち進めます。
SSAについて、まずは日本語の資料から少しずつ読み解いてゆこうと思います。粗順序比は難しくないので、元資料でよいとおもいます。悩んでいるのは、無効果順序比の集計の説明パートから。
まず、ここで疑問が発生。ここに至る前段階で「調査期間中に新規にAとBが発生した患者」を選択しているので、この定義だと、必ずN=nになります。Nとnを分けて記述する意味があるのか? あるとして、いったいどういう事だろうか。
次に、aを求めるところで、分母にxについての∑があるので、観察期間人数の情報になると思うのだが、それを人数nの次元で割って確率になるのだろうか? 分母にも観察期間人数の次元のデータを以て来なくていいのだろうか?
この点を原著に戻って確認しないと、コード化できない感じです。つまり、入口の理解でつまずいていることが確認できました。
たまごぶらす 第2回コンサート 新宿 グラムシュタイン 2017年11月9日
写真・ビデオを撮影したので公開します。
たまごぶらす 第2回コンサート 新宿 グラムシュタイン 2017年11月9日
楽器紹介メドレー
おしゃべりの冒頭部分で、楽器紹介メドレーという事で進行を務めている片野さんが「金管五重奏を聴いたことのある人どのくらいいますか?」とお客さんに尋ねています。たまたま一緒のテーブルのおじさんたちが、ブリティッシュブラスのバンドのラッパだったり、小さな管弦楽の指揮者だったりと、そこそこディープな感じの人たちだったというのもあって、特に宣伝もしていないコンサートに足を運ぶ人は、メンバーと何らかのつながりのある人ばかりだろうと思っていたので、多くのお客さんが金管五重奏を聴いたことのある人だろうと思っていたら、意外や意外。あまり金管五重奏を聴いたことのある人はあまりいないようでした。いったいどういう人たちが集まってきていたのか、謎が深まります。
<https://youtu.be/pOr9vxkkS0k>