The Nameless City

何故か製薬やSAS関連のブログ、の予定。

<del>なんか聞きたければ、聞いて下さい。</del>用事無くても書き込んでええんやで。

トランスエンコーディングのページにPVが集まるので、なんか探られてるなーと思ってますが。 こちらで聞いて頂く分には、分かる範囲で特に明確な期限ないですが、回答しますので(質問・回答は公表しますので、不幸が起こらない形で問い合わせていただければ…

SAS以外での、日付・日時の取り扱いを少しまとめておく

その前に:ロケールと時刻の話。 当初は、NTPなんてものはなく、各PCの時刻がベース、UTCとか知らんがなというような状況ではあったのだが、 R言語 参考: 9 日付型データ | 疫学のための R ハンドブック Rによるデータ解析のための前処理 - Appendix D — コ…

JSONのファイルサイズを小さくするのにあるいくつかの話を。

minimizedする JSONでは改行不要、スペース不要の為、その辺りを削ると結構サイズ減ります。これを圧縮と呼ぶ場合あります。 ファイルをzip圧縮する 一応ベタな方法なので、まあまあそのまま。 カラム指向の表現形式という事にして、重複記述を削るような事…

Dataset-JSONの、その先

メタデータのもたせ方が、JSON Schema派生じゃなくなるかもしれない。 いわゆるテーブルのスキーマ定義の話なんですが、現状ではJSON SchemaよりもProtocol Buffersなどのプログラム言語の定義に近い形の一般化になりつつあります。 この辺りで一般情報引っ…

有効桁数は変数にそのまんまは格納されない(SASでもそうだし他のプログラム言語でも)。

いわゆる有効桁数について、いい加減DMが解析に聞くのは止めた方がいい。 てか、DMがEDCからの出力で有効桁数をどうやって格納するか設計してるはずなんだがという話・・・・・・ SASフォーマットで有効桁数を表す場合、設計時に有効桁数定義をしているとい…

Gitをそろそろ環境に導入した方がいいのかもだが、Gitを使いこなせないと無理な気もするので難しいなあ。

Waterfallタイプの開発が出来ていればいいのですが、そうはいかないのが常でして。 そのために古来よりSubversionやGitというバージョン管理ツールがあるのですが、それがナカナカどうかなというところがあり。 ファイルのタイムスタンプだとか含めてなんと…

「設定より規約」

うん、まあ、その、なんというか。官公庁系の決める規約等では、あまりこれが徹底されていないというか、そもそもSDTM/ADaMがちょっと柔軟性を高くしたうえで幾つもの内部構造のバリエーションを持つようになってしまっているので問題が大きいというところで…

モダンブラウザの技術ベースなアプリは、時々読み込み失敗して、一部分謎なブランクが発生したりするが、ネットワークがリッチな状況前提だったりする。

タイトルで言い尽くした感。 昔はボタンクリックとかの明確なアクションベースでリロードとかのイベント動かしていたのが、スクロールだとかふわふわしたものの動きで表示変えるようになり、結構練り込まれづらい気がする。 操作マニュアル作りづらい。

違うドメインの資格情報を利用する場合に、短いドメイン名のやつ使うのは非推奨。

って思ってください。真面目にフルパスで@形式のパターンで書いた方がいいです。 learn.microsoft.com ユーザ名では省略形なんかをいろいろ書くことが可能なのですが、この省略名、ドメインを超えると通じにくくなります(実際にはユーザを探すロジックがあ…

RTFはUnicodeはネイティブで扱ってないんだね・・・・・・

SASのUnicode版でRTFを出力したら、Windows-1252で出てくるのを見て。 ロケールは日本環境ではあるので、SASの環境としてもUnicodeではあれど日本語ログも出るところでやってるし、なんでかなと思ったら、 Unicodeに関しては前述の通りRTF 1.5以降でサポート…

サーバーで共通化している場合、WORKライブラリの置き場所変えた方がいいと思うんだけどね。

例えばSASがクラッシュした時にそこにファイルが残存するわけで、それ探して消すのに、デフォルトの各ユーザの%temp%にWORKライブラリ置くとかダルい気がするんですよね。 なので、インストール時に変えてくださいな。 普通のconfig修正方法はこれなんですが…

ある程度の技術動向の話(2024年版)

開発環境 VM→Docker SVN→Gitあんまり進化はない IDE Atom→VSCodeVSCodeクローンもあるようで。 統計解析の言語 Python、Rがとは言われるが、あまり大勢は変わらず。この辺り、実は統計解析→メディカルライティングとの絡みが発生するのであればもう少し進展…

SASやっている人間がSQLを知らなくていいというのはなくて、多分データ加工しているならむしろ最初にしておいた方がいい。

むしろ、RDBMSとSQLの基礎知識レベルは必須、むしろそこからアレンジされたDBとかも知識必要にはなってくるという認識です。 ちなみに私は、RDBMSが先です。 データを保存するという役割で、RDBMSは標準的に用いられる 通常のプログラム開発では、とても当た…

マッピング定義書は、プログラム詳細設計書にはならない

結構悩ましい問題なのだが、解析用データセットの加工をしていると特にそう思うのだが、 順序的に データセットからそのままはめ込む変数をそのままはめ込む 解析週の計算 加工用フラグ変数の算出 フラグ変数を用いての計算 というような順序で計算しないと…

Windows 12の話が来た。DDEについてはちょっと気になる・・・・・・

gigazine.net まだリーク情報なのでアレですが。 アプリケーション間通信であるDDEは維持されるとは思いますが(拡張子の関連付けは簡単には維持解除とはいかない)、アプリケーションとかを分離したりしてセキュリティ向上という事なので結構気になります。…

Windows で将来廃止される予定の話、VBScriptとNTLM認証とワードパッド

要点 VBScript、NTLM認証とワードパットが廃止予定ですよ DDEはおそらくだけど当面生き残りますよ(話題には出ないけど理由はある) VBScript 実はこれローカルで動かす言語というよりは、Webのサーバサイドスクリプトとして簡単に使えるScriptとして開発さ…

多分楽にSimulation出来るなら、SASもまだ需要はあるかもねと。

しかし、如何せん学生のマシンで簡単に動かせるのかという。 ただ、手続き型言語の方が楽であるし、FORTRANに直すのもそんなに苦ではないだろうしなあ・・・・・・

バッチ実行とかを深く知りたいなら・・・・・・

Windows固有のシステムオプション https://documentation.sas.com/doc/ja/pgmsascdc/9.4_3.5/hostwin/p06aurwhmyt63on1cg067ogdnnfe.htm ここの中にprintオプションとかの説明があります。まあ、コメントプロンプトからのバッチ実行については、基本的に環境…

知っていると便利なproc compareのオプション。

proc compare listvar outbase outcomp outdif outnoequal base=xxx comp=xxx out=xxx ; quit ; |sas|< proc compareの出力は、HTML出力化してもとてもイケてないのは言わずもがな、V6からも変わってない気がします。 存在しない変数も値比較の中で欠損値と…

SAS言語とその他の統計解析言語の優位性みたいなもんに少し

言語特性 SASはプロプライエタリなソフトウェアで、お値段出せば統計解析のところはまあ全部入りという事は出来ます。また、大学では結構導入されている大学は多いので、ちゃんと使えば使えます。また、遺産は大きいです。 というか、まあ、遺産動かす為に導…

Programming Data Vectorとはなんぞやという話で。

Programming Data Vector自体は、メモリ上に1レコード分(+アルファ)確保される、DATAステップを処理するために一時的にメモリ上に確保される論理領域、です。 SASデータセットは、可変長文字列とかがないので、1レコードの論理バイト長とかはDATAステッ…

Wingdingsというフォントについて少し。

歴史埋もれてしまいそうなんでちょっと書いておきます。 昔、Windowsよりも前の時代、コンピューターの画面は、テキスト表示と画像表示(BMP)の二面を持ってたりしまして(PC-98仕様、でもDOSベースだと大体そんな感じ)、基本的にはテキストで表現されるも…

データ加工序論(あんまわかってない人向け・治験でデータ加工やってる人向け)

データセット・変数・オブザベーションの概念を理解しよう。 他言語でなんとなく学習している人は、テーブルやデータフレームというもので置き換えて認識しよう。 検査のデータを利用するのに、こういうテーブルを用いて管理・整理する。 大きなひとかたまり…

小数点第何桁というのをround丸め用数値とformatの桁数で考える場合

他人のマクロのバグ取りはつらい。 roundの丸め用の数値と、put等で利用するformatの桁数には違いがある。 というのは、結構面倒臭いのだが、 format w.d round 10**(-d) という関係なのであるよと。ただし、d>=0の整数。 data _NULL_ ; a=123.4567891234 ; …

データ加工のTipsを作ろうかと思いました。

データ加工の話なのですが、そもそもテーブル(Rとかだとデータベクトル)の意味からちゃんと理解しつつ、データ変換のTips集を作ろうかと思ってます。 新人さんを見ていて思ったのですが。 アルゴリズム思考がまあまだ怪しいのに、「治験やってたらわかるっ…

ローカルのフォルダ内define.xmlをGoogle Chrome等で見る方法

現在モダンブラウザでは、ローカルファイルをブラウザで開くのはセキュリティの観点から容認してません。 が、ブラウザをオプション「--allow-file-access-from-files」付きで起動する事により、define.xmlをブラウザで見る事が出来ます。

基本原則はシンプルな方がよい。

例えば「タスクはAからBを作る作業という事にしておくと、名称も楽に決めやすい」とか。 一見複雑に見える作業も、タスクに色を変につけるからややこしいのであって。 業務分析する際に、ワークフローを考える場合、「最小限のインプット」「作成物ごとのタ…

SASのドキュメントの調べ方(英語なのは諦めて)

support.sas.com support.sas.comに行けば大抵はあるよ、という話で終了そんだけだと少しさみしいので足すと。 support.sas.comのあるきかた 製品のマニュアルは「documentation」 SASのHELPは一応全てのパラメータを説明はしてくれています。exampleもあり…

有効桁数で丸めた上で文字列に変換するマクロや自作関数とか

マクロ 自作マクロ故に担保はしない。 使う前に適当にテストしてほしい。 なお、指摘受け付ける。 著作権については、好きにしていいよ。 使い方 %mround_digit : [出力先の文字変数]=%mround_digit([元データになる数値変数], [有効桁数]) ;[有効桁数]は1以…

SASのライセンスとは別に、モジュールにライフサイクル終了があったりするよという話。

タイトル通り。 この期限が来ると、モジュールが動かなくなります。 support.sas.com よくSASのバージョンをどう管理しどう更新していくのかという話がありますが、Enterprise Guideとかを使いゆるくやってる場合には、おとなしくアップデートに流されていく…