マスマティカでデーター処理(解答例)
解答例です。もっとシンプルに書いた人は、コメントください。
例えば大阪市の家族情報として、三家族のデーターがリスト化されているとしましょう。



このデーターが一つのリストに纏められたのが以下のOsakaFamilyDataです。

これらのデーターに作用する関数として
OlderQ[x_, toshi_] := (Part[x, 2] > toshi);
TeinenInFamilyQ = Or @@ (OlderQ[#, 60] & /@ Drop[#, 1]) &;
PickTeinenInFamily = Flatten[{Part[#, 1], If[(res = Select[Drop[#, 1], OlderQ[#, 60] &]) =!= {}, res, {None}]}, 1] &;
が私の解答例です。マスマティカで関数を作る時には、関数というより、演算子として見たほうが分かりやすいと思うので、私は純関数を使った定義を好みます。
TeinenQの使用例:

結果は{kato, miyabe}を返します。
PickTeinenInFamilyの使用例:

結果はこの場合
----------------------------
Tanaka None
Kato haha
80
miyabe tichi mama
61 68
-----------------------------
を返します。
例えば大阪市の家族情報として、三家族のデーターがリスト化されているとしましょう。



このデーターが一つのリストに纏められたのが以下のOsakaFamilyDataです。

これらのデーターに作用する関数として
OlderQ[x_, toshi_] := (Part[x, 2] > toshi);
TeinenInFamilyQ = Or @@ (OlderQ[#, 60] & /@ Drop[#, 1]) &;
PickTeinenInFamily = Flatten[{Part[#, 1], If[(res = Select[Drop[#, 1], OlderQ[#, 60] &]) =!= {}, res, {None}]}, 1] &;
が私の解答例です。マスマティカで関数を作る時には、関数というより、演算子として見たほうが分かりやすいと思うので、私は純関数を使った定義を好みます。
TeinenQの使用例:

結果は{kato, miyabe}を返します。
PickTeinenInFamilyの使用例:

結果はこの場合
----------------------------
Tanaka None
Kato haha
80
miyabe tichi mama
61 68
-----------------------------
を返します。
コメント
コメントの投稿
トラックバック
http://letsphysics.blog17.fc2.com/tb.php/342-ee500349
