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の方が上だな。。。