So-net無料ブログ作成

SAS:『お家でSASコーディング(RText)』 [SAS]

SASはデータベース加工・統計解析ソフトとして優秀です。

サポート万全で信頼性があるのでお仕事で使います。

が、高い。
年間ライセンスだし。


プログラムのコード自体はただのテキストデータなわけで、
実行環境が無くても、
記述くらいは自宅でもできる訳です。


ただし、

プログラミング言語に対応した「キーワードの色付け」や「タブ」等々、
本家に匹敵するエディタがあると、
記述が早く、ミスも少なく、やる気が出る、というもの。


様々なプログラミング言語に対応するエディタはありますが、
いかんせんSASは少ない。。。

そんな中、見つけたのがこれ→『RText

様々なプログラミング言語がサポートされており、SASもカバーしている。

しかも日本語対応。

しかもWindows, Mac等、各OS対応。

しかも無料。


ロゴがいまいちな気がするが(なんでハト?)

行動分析学をかじっていると、なぜかちょっとうれしい。
(ちなみに、ハト好きにはこちらもおすすめ(ハト好きじゃなくてもおすすめ))

脱線しましたが、
久々にいいソフト見つけた。

SAS:『カレントディレクトリのパス取得3 マクロvar.2』 [SAS]

%macro Carrent();

 %global dir0 dir1 dir2 dir3;

 FILENAME mydir ".";

 DATA _NULL_;
  call symput('dir0',PATHNAME("mydir"));
 RUN;

 %let dir1=%substr(&dir0,1,%length(&dir0)-%length(%scan(&dir0,-1,"\"))-1);
 %let dir2=%substr(&dir1,1,%length(&dir1)-%length(%scan(&dir1,-1,"\"))-1);
 %let dir3=%substr(&dir2,1,%length(&dir2)-%length(%scan(&dir2,-1,"\"))-1);

%mend Carrent;

%carrent;

%put &dir0;
%put &dir1;
%put &dir2;
%put &dir3;


【解説】

マクロを使った省スペース版。
(繰り返すためには使っていないので、初回のみ実行。)


SAS:『カレントディレクトリのパス取得2 マクロ』 [SAS]


%global dir0;

FILENAME mydir ".";

DATA _NULL_;
 call symput('dir0',PATHNAME("mydir"));
RUN;

data _NULL_;
 call symput('dir1',substr("&dir0",1,length("&dir0")-length(scan("&dir0",-1,"\"))-1));/*1 step up from current directory*/
run;

data _NULL_;
 call symput('dir2',substr("&dir1",1,length("&dir1")-length(scan("&dir1",-1,"\"))-1));/*2 steps*/
run;

data _NULL_;
 call symput('dir3',substr("&dir2",1,length("&dir2")-length(scan("&dir2",-1,"\"))-1));/*3 steps*/
run;

%put &dir0;
%put &dir1;
%put &dir2;
%put &dir3;


【解説】

カレントディレクトリのパスをマクロ変数として利用できるようにしたもの。

上記プログラムを実行すると、
マクロ変数dir0にカレントディレクトリパスが格納される。

dir1~dir3まで作成しており、
1階層ずつ上のディレクトリを格納している。


統計を知らない人のためのSAS入門 −Ver.9.3対応版−

統計を知らない人のためのSAS入門 −Ver.9.3対応版−

  • 作者: 大橋 渉
  • 出版社/メーカー: オーム社
  • 発売日: 2012/11/21
  • メディア: 単行本


SAS:『カレントディレクトリのパス取得2 マクロ』 [SAS]


%global dir0;

FILENAME mydir ".";

DATA _NULL_;
 call symput('dir0',PATHNAME("mydir"));
RUN;

data _NULL_;
 call symput('dir1',substr("&dir0",1,length("&dir0")-length(scan("&dir0",-1,"\"))-1));/*1 step up from current directory*/
run;

data _NULL_;
 call symput('dir2',substr("&dir1",1,length("&dir1")-length(scan("&dir1",-1,"\"))-1));/*2 steps*/
run;

data _NULL_;
 call symput('dir3',substr("&dir2",1,length("&dir2")-length(scan("&dir2",-1,"\"))-1));/*3 steps*/
run;

%put &dir0;
%put &dir1;
%put &dir2;
%put &dir3;


【解説】

カレントディレクトリのパスをマクロ変数として利用できるようにしたもの。

上記プログラムを実行すると、
マクロ変数dir0にカレントディレクトリパスが格納される。

dir1~dir3まで作成しており、
1階層ずつ上のディレクトリを格納している。


統計を知らない人のためのSAS入門 −Ver.9.3対応版−

統計を知らない人のためのSAS入門 −Ver.9.3対応版−

  • 作者: 大橋 渉
  • 出版社/メーカー: オーム社
  • 発売日: 2012/11/21
  • メディア: 単行本


SAS:『カレントディレクトリのパス取得』 [SAS]

FILENAME mydir "."; /* カレントディレクトリをmydirとして定義 */

DATA _NULL_;
LENGTH fname $ 100;
fname=PATHNAME("mydir");/* パスの取得 */
PUT fname=; /* ログウィンドウへ出力 */
RUN;


【解説】

現在実行中のディレクトリパスを取得する。
フォルダ指定時の相対化に役立つ。

DOSやUNIXのコマンドライン上では、カレントディレクトリをドット(.)で表す。

FILENAMEでカレントディレクトリ(”.”)にファイル参照名(mydir)を割り当て、
Pathname関数の引数とすることで、パスを取得できる。



統計を知らない人のためのSAS入門 −Ver.9.3対応版−

統計を知らない人のためのSAS入門 −Ver.9.3対応版−

  • 作者: 大橋 渉
  • 出版社/メーカー: オーム社
  • 発売日: 2012/11/21
  • メディア: 単行本



SAS:『任意フォーマットの作成と適用』 [SAS]

proc format;
 value score
  1 - 50 = 'Fail'
  51 - 100 = 'Pass';
run;

proc print data=test;
 format age score.;
run;



【解説】

Formatプロシジャでフォーマットを作成する。
適用方法は通常のフォーマットと同じ。

Valueステートメントの使用方法は以下の通り

「value フォーマット名 値(範囲)=読替え後 …(以降繰り返し)… ;」



統計を知らない人のためのSAS入門 −Ver.9.3対応版−

統計を知らない人のためのSAS入門 −Ver.9.3対応版−

  • 作者: 大橋 渉
  • 出版社/メーカー: オーム社
  • 発売日: 2012/11/21
  • メディア: 単行本



SAS:『ベタ打ちでデータセットを作成する』 [SAS]

data test;
 input name $ age;
/*cards4;*/
/*cards*/
/*datalines4*/

datalines;
John +35
Max 21
Eve -94

;
/*;;;;*/
run;

【結果】
name age
John 35
Max 21
Eve -94



【解説】
作成するプログラムのテストのために、簡単なデータセットがほしい場合に用いる。

① inputで変数を順に指定しておき、

② datelinesでデータ入力の開始を宣言する。

③ datelinesとセミコロン(;)の間に、inputで指定した変数順にデータを記す。

 デフォルトで半角スペースが区切り文字となっているので、
 各値の間をスペースで区切る。

 複数OBSを作る場合は改行する。

 datelines中身の最初(左端)にスペースやタブを入れると、
 それもデータに反映されてしまう。



ちなみに。。。

 指定した変数数以上に記述すると無視される。

 数値変数指定なのに文字が入っていると欠損値となる(上記例は±記号なのでOK)。

 datelinesはcardsでもよい(違いは不明)。
 値にセミコロン(;)を入れたい場合はdateline4またはcards4を用いる。
 このとき、データ記述を終了する場合はセミコロン4つ(;;;;)を記す。



統計を知らない人のためのSAS入門 −Ver.9.3対応版−

統計を知らない人のためのSAS入門 −Ver.9.3対応版−

  • 作者: 大橋 渉
  • 出版社/メーカー: オーム社
  • 発売日: 2012/11/21
  • メディア: 単行本


この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。