うずまき2017 powered by Jun-Systems

耳管開放症, SAS, 統計解析, 人工知能, プログラミングそれに思考

*

SAS上で走っているRとSASでのデータセットの受け渡し

   

昨日のpostでSAS上でRを走らせたので、Rで作ったデータをそのままSASで分析継続できるようにします。簡単です。
 
とりあえずぼくが使いたいのはRMeCabなので、青空文庫から戸坂潤『イデオロギー概論』を引っ張ってきてローカルにテキストで保存してあります。本当はプログラム書けばこれ自体ウェブから直接落としてこれるんですけどね。
 

PROC IML;
  submit/R;
  library(RMeCab);
   result <- RMeCabFreq("c:/sastemp/ideo.txt") ;
  endsubmit;
  run ImportDataSetFromR("work.result", "result");
quit;
PROC SORT data=result;
  by DESCENDING freq;
  WHERE Info1 ='名詞';
run;

 
submit/R – endsubmit間がRにサブミットされますので、そこにRで走らせる処理を書く。
今回ならまずパッケージをインポートして、単語の頻度表を作成する処理。
 
endsubmitでプログラムを閉じたら、今度はSAS/IML上での処理としてImportDataSetFromR(“ライブラリ名.データセット名”, “Rのオブジェクト名“)を指定することで、SAS上にインポートできます。ImportMatrixFromRで同じようにIML上のマトリクスとしてインポートすることも可能です。
いちからcsv吐いてそれを再びSASでインポートするのは、なんかかっこ悪い感じがします。
 
んでIMLを閉じたら、今指定したデータセット名でプロシージャなり走らせれば、そのまま動いてくれます。今回は名詞に限定して出現頻度の多いものから順に並べ替えています。これぐらいならRで実装できるのでSASに戻す必要もありませんけどね。でもこの感じなら分析フローの中にスムーズにRを組み込むことはできそうな感じがしますね。
 
 


 - SAS, SAS Programming , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

no image
SASでHHI(ハフィンダール指数)を計算するマクロを作った
実用性重視のSASコマンド集
SAS超基礎1 データの読み書き
no image
データ分析の重要性とオープンデータ活用の潮流
no image
SASで条件分岐を使いこなす
no image
SASを使いやすくカスタマイズしよう SAS環境変数,AUTOEXECなど
【忘備録】SASで巨大データセットから先頭100Obsを抽出
SASでカテゴリカルな変数をダミー変数化するマクロ
no image
SASで直接twitterを検索してTLをインポート(PROC HTTP/Twitter OAuth)
no image
SASのPROC HTTPでe-statのAPIを叩く(叩くだけ)