SSブログ

Clementine Vs. VMS ファイルとファイルの部分一致 [データサイエンス、統計モデル]

ファイルとファイルの部分一致

下記の問題を考えた。

  ファイルA:
  青森
  秋田
  東京

  ファイルB:
  ほげほげ ⇒ 抽出させない
  ほげほげ 青森 ⇒ 抽出する
  ほげ 秋田 ほげ ⇒ 抽出する

というように、ファイルAの中に市町村のデータが入っているレコードだけ抽出させる。

簡単そうで、意外と難しい。

で、VMS(数理システム)で実装する方法とClementine(SPSS)で実装する方法があるのだが、とりあえず、サポートにメールしてみたところ、、、

数理システムは、即行返事が返って来た。
相変わらず、サポートはすばらしい。

VMSの場合:
//--スクリプトここから--

//サンプルデータ作成
data("A","B")=cbind({"青森","秋田","東京"},{"ほげほげ","ほげほげ 青森","ほげ 秋田 ほげ"});

//フラグ初期化
flag = rep("F",nrow(data));

//"A"列の値の所属を調査
for(k in data("A")){
flag = sel(is.substr(k,data("B")),"T",flag);
}

//"flag"列がTのデータ抽出
result = sel(flag=="T",data);

//--スクリプトここまで--

で、SPSSにもメールしていたものの意外と簡単にClementineでも実装できたのだが、、、
かな~り時間がたって、
サポート「データがファイルにあります場合には作成することができません。」
とメールが帰ってきた。。。
『いや、Clementineでもできるから・・・(´д`)』

実行速度を比べたら、VMSの方が早かった。
このあたりのスクリプトは、間違いなくVMSの方が上だな。。。


nice!(0) 
共通テーマ:仕事

nice! 0