秀丸初心者です。単純な統計的操作を自動化するマクロや方法が無いものかどうか探しています。自分がやりたいのは例えば以下のようなレベルのものです
テキストデーター内に1?100までの正の整数サンプル値が500個くらい散らばっている。
1.サンプル値の総和を求める→これはいいマクロを発見したので解決済み
2.例えば、サンプル値の中から20以下のものを抜き出し・・・
3.空白文字に置き換えたい(そうして最終的には足切り総和値を求めたい)
2の段階でどうしたものか迷っています。自分としてはこれ以上の本格的な統計作業は必要としていないので統計ソフトRのようなものはオーバークオリティだと思います。理数系の方なら「こんなのこれの機能使ってこうこうやれば簡単じゃん」とか答えてくれるのではないか、と甘い期待をして質問させていただきます。よろしくお願いします。
簡単なところだと20以下を正規表現で消してしまうのでしょうか。
元のデータ形式がわかりませんけれど、正規表現としては以下のような感じでしょうか。
(^|[ \t])0*(1?[0-9]|20)(?=[ \t]|$)
秀丸の正規表現は癖がありそうなので、これでいけるかわかりませんけれど。もしかすると下記の方がよいかもしれません(最初の行が漏れますけれど)。
(\s)0*(1?[0-9]|20)(?=\s)
さて、手動なら置換で上記正規表現を空白にしてやればよいですが、せっかくなので見つけてきたマクロに組み込むとよいと思います。下記の最後のサンプル参考にしました。
http://homepage2.nifty.com/jr-kun/hidemaru_qa/3_macro.html元のマクロがわからないので具体的な場所はわかりませんが、最初の方のどこかに下記を入れれば良い気がします。
replaceall "(^|[ \\t])0*(1?[0-9]|20)(?=[ \\t]|$)"," ", regular;
または
replaceall "(\\s)0*(1?[0-9]|20)(?=\\s)","\\1", regular;
さらに自動化したい場合、オプション使ってマクロ自動実行するとよいでしょう。
http://homepage3.nifty.com/kons/hidemaru/helpsite/hidemaru/html/230_Option.html
Hidemaru.exe /xtotal.mac c:\path\to\data.txt
ファイルが決まっているならこんな感じでショートカット作っておけば良いと思います。
私は秀丸ユーザではないので、細かいところはよくわかりませんし間違いがあるかもしれませんが、だいたいこんな感じだと思います。
ちなみに私ならawkを使うかなぁ、という感じです。perlがあればそれ使いますけど、windowsだとこのために入れるかは利用頻度次第かな。
あと、wshを使う手もあります。最初はちょっと面倒なところあるけれど、ひな形できればそれの使い回しでいけるし、標準だし。
本格的にいろいろやる可能性あるならperlとかwshとか、それなりのスクリプト言語使えるとはかどりそうです。もちろんエクセルやOOoでVBAやpythonもありです。
結局、なに使ってどうやるかは、元のデータにもよるし今後の展開にもよるし、一つでやってしまってもよいし、個々に分担して連携もできるし、それぞれなので、一概には言えませんね。