Mathematica 10 の探索: List of rules, Association, and Dataset

 python に dictionary がある。また、R には dataframe がある。これらに対応するものが Mathematica 10 の新機能として Association (連想)と Dataset 導入された。Wofram ドキュメントには説明と例題があり、なかなか興味深いものです。

Association

http://reference.wolfram.com/language/ref/Association.html?q=Association

規則のリストを連想に変換する:

Association[{a -> x, b -> y, c -> z}]
⇒ <|a -> x, b -> y, c -> z|>
Association[Thread[{a, b, c} -> {x, y, z}]]
⇒ <|a -> x, b -> y, c -> z|>
AssosiationThread[{a,b,c}->{c,y,z}]]
⇒ <|a -> x, b -> y, c -> z|>

連想を規則のリストに変換する:

Normal[<|a -> x, b -> y, c -> z|>]
⇒ {a -> x, b -> y, c -> z}

連想オブジェクトに対する操作が定義されている。

Datset

http://reference.wolfram.com/language/ref/Dataset.html?q=Dataset

R 言語のデータフレームより拡張されたオブジェクトとの記述がある。

 思いつき

  • このブログを書き始めた頃、Mathematicaの探索: MathematicaとR」を書いたことを思い出した。 R を使った統計解析の本が沢山出版されているので、Mathematica ノートブックの中で Rlink を動かしながら Association と Dataset を使って翻訳することを思いついた。
  • Mathematica Stack Exchange に載っている、What is the natural way of using Dataset to get a FittedModel ? をみる限り、 R の dataframe を Datset に簡単に翻訳できるものではないことが分かる。現在の FittedModel で使うデータはリストであって、Dataset に対応していないからである。しかしこの質問への回答は興味深い。

その後( 23 Mar 2015)

目次へ