RLink`
RLink`

ToRForm

ToRForm[expr]

Rと交信するために内部でRLinkが使う expr の完全形式を返す.サポートされているRの型のどれとも対応せず,変換することができない式については,ToRForm$Failedを返す.

詳細とオプション

  • Nullは,RのNULL要素であると解釈され,RNull[]に変換される.
  • 基本的なベクトルの型(整数,実数,複素数,文字列,True|False)のスカラーは,同じ型からなる一要素のRベクトルであると解釈される.このことは,このスカラーがRで取り扱われる方法に反映される.
  • 基本的なベクトルの型(整数,実数,複素数,文字列,True|False)のリスト(あるいは多次元配列)は,Rベクトルであると解釈され,RVector頭部を持つ式に変換される.
  • Rベクトル(多次元配列を含む)を表すリストはすべて,欠落要素を含むことができ,これはMissing[]で表される.
  • 上の記述に合わないリストは,自動的にRのリストであると解釈され,頭部RListを持つ式に変換される.このリストには,不規則なリストとさまざまな型の要素を含むリストが含まれる.(RLink を使用するのに)有効なR言語リストには,その他の有効なRリスト,有効なRベクトル,あるいはRのNULL要素を含むことができる.
  • REnvironmentRCodeRFunctionのいずれかの頭部を持つ式は,ToRFormのアクションのもとで変化を受けない.ただし,頭部RFunctionの式が持つ関数の属性を変換する場合は例外である.
  • Rに自明でない属性を含むオブジェクトを送らなければならない場合には必ず,コンテナRObjectを使わなければならない.このコンテナには,自分のデータと属性,そして特に属性用にRAttributesを保管することができる.
  • 上記のカテゴリのいずれかに当てはまらないWolfram言語式はどれも,現在Rに送ることはできず,これらをToRFormに渡すと$Failedが返される.
  • ToRFormRSetによって内部で呼び出され,入力はRに送られる前に内部のRLink表現に変換される.この関数を明示的に呼び出さなければならないことはほとんどない.しかし,入力のRLink の内部形式を知ることは,特にRLinkが自分の入力を自分の意図通りに解釈しているかどうかが定かではなく,これを確かめたいというときには便利である.

例題

  (6)

以下は,基本的なベクトルの型を変換した例である:

NULLRNullに変換される:

以下は整数リストの内部形式である:

実数リスト:

複素数のリスト:

論理的な値(TrueあるいはFalse)のリスト:

文字列リスト:

欠落要素を含むリスト:

しかし,さまざまな型の要素を含むリストは,Rとして解釈される:

上の例は,RLink の完全な内部形式は使いにくいことが多いことを示している.

以下は,整数行列の内部形式である:

ここで3つのことが明らかである.まず,行列データは一次元リストとして保存される.次に,行列は列を重視する順序に変換される.これはRで行列がこの順序で保存されるためである.最後に,行列の次元は"dim"属性に保存される.

不規則なリストは,Rリストであると解釈される:

これは,さまざまな型の要素を含むリストについても真である:

R言語オブジェクトに余分の属性を与えなければならない場合には,RObject頭部で通常構築するものをラップして,RAttributes頭部にラップした属性を加えなければならない:

逆の操作を行い,R言語オブジェクトを表す与えられた式について完全内部形式から短縮形を得るためには,FromRFormを使うことができる:

このオブジェクトの"myAtt"属性の値であるリストは,少し違う形式で返される.これは,スカラーがRでは一要素ベクトルとして取り扱われることと同じであるが,型の自動認識に常に頼っているという場合には,問題となってくる:

この問題とその解決策については,RListのドキュメントにさらに詳しく書かれている.

ToRFormがどのような方法で解釈を行う場合でも,ToRFormからFromRFormへのサイクルは常に,余分なリストを含むスカラーを法として,同じ式を返さなければならない.

Wolfram Research (2012), ToRForm, Wolfram言語関数, https://reference.wolfram.com/language/RLink/ref/ToRForm.html.

テキスト

Wolfram Research (2012), ToRForm, Wolfram言語関数, https://reference.wolfram.com/language/RLink/ref/ToRForm.html.

CMS

Wolfram Language. 2012. "ToRForm." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/RLink/ref/ToRForm.html.

APA

Wolfram Language. (2012). ToRForm. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/RLink/ref/ToRForm.html

BibTeX

@misc{reference.wolfram_2024_torform, author="Wolfram Research", title="{ToRForm}", year="2012", howpublished="\url{https://reference.wolfram.com/language/RLink/ref/ToRForm.html}", note=[Accessed: 15-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_torform, organization={Wolfram Research}, title={ToRForm}, year={2012}, url={https://reference.wolfram.com/language/RLink/ref/ToRForm.html}, note=[Accessed: 15-November-2024 ]}