問題タブ [s4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
5874 参照

r - S4 コンストラクターとプロトタイプ

Hadley Wickham の S4 wiki を見る: https://github.com/hadley/devtools/wiki/S4

Person のコンストラクターをどのように設計できますか (このように)

それはこれをしません:

0 投票する
1 に答える
4762 参照

r - RでS4オブジェクトのファイルを分割して書き込む方法

以下のような S4 クラスのオブジェクトがあります。

このオブジェクトから、Slot Seq | の列を含むファイルを生成したいと思います。スロット chr | スロット開始 | スロットエンド | スロットストランド | スロット seqID | スロット位置 | スロット pval | スロット fastaHeader。

上記の S4 オブジェクトからこのような .txt ファイルを生成して書き込むにはどうすればよいですか?

0 投票する
3 に答える
830 参照

r - S4関数スーパークラスのスロットへのアクセス

「関数」のS4スーパークラスを作成し、関数呼び出しからそのオブジェクトのスロットにアクセスできますか?現時点で私は持っています:

今私が本当に望んでいるのは、関数がそれ自体の@powスロットのxの累乗になることです。

私はキューブを手に入れます、そして私がそうするなら:

私は正方形を取得します。

しかし、Pythonで行うように、「自己」への参照を取得する方法がわかりません。どこかの環境のどこかで推測しています...

Pythonでの動作は次のとおりです。

本当に簡単なことではありませんでした、そして私は「反重力をインポートする」ことさえする必要がありませんでした…。

0 投票する
1 に答える
2071 参照

oop - RのS4に複数のオプションで空のスロットを持つクラスを定義する効率的な方法は?

最大4つの異なるタイプで到着するデータを処理するパッケージを構築しています。これらの各タイプは、matrix、data.frame、またはtreeの形式の正当なクラスです。データの処理方法やその他の実験的要因によっては、これらのデータコンポーネントの一部が欠落している場合がありますが、この情報を特別なクラスのインスタンスとして保存し、異なるコンポーネントを認識するメソッドを持つことができると、非常に便利です。データ。

アプローチ1:

ネストされたツリーのように見える増分継承構造を実験しました。データ型の各組み合わせには、明示的に定義された独自のクラスがあります。これを将来追加のデータ型に拡張することは困難であるように思われ、新しい開発者がすべてのクラス名を学習することも困難ですが、それらの名前は適切に編成されている可能性があります。

アプローチ2:

2番目のアプローチは、4つのデータ型すべてのスロットを含む単一の「マスタークラス」を作成することです。欠落データのインスタンスに対してスロットをNULLにできるようにするには、最初にNULLクラスと新しいデータ型クラスの間に仮想クラスユニオンを定義し、次に仮想クラスユニオンを関連するクラスの期待されるクラスとして使用する必要があるようです。マスタークラスのスロット。次に例を示します(各データ型クラスがすでに定義されていると仮定します)。

したがって、質問は次のように言い換えることができます。

これらのアプローチのいずれかに対して、より効率的および/または柔軟な代替手段はありますか?

この例は、スロットのデフォルト値をNULLに設定することに関するSOの質問への回答から変更されています。この質問は、他のすべての空でない場合に特定の複雑なクラスが必要であるにもかかわらず、必要に応じて空にできるスロットを持つクラスを作成するためのRの最良のオプションを知りたいという点で異なります。

0 投票する
1 に答える
1118 参照

r - 強制メソッドの書き方

カスタムメイドの参照クラスがたくさんあり、それらの強制メソッドを書きたいと思っています。関数呼び出しが次のようになるといいでしょう。

...特定の強制のために追加のものを渡したい場合があるため、重要な部分はどこですか(以下を参照) do.deep = TRUE/FALSE

ただし、それを行うには、to引数を取り、指定されたクラスの空のオブジェクトをインスタンス化してからto「通常の」メソッドディスパッチを呼び出す「トランスフォーマー」のようなものを実装する必要がありますか? それとももっと良い方法がありますか?

以下に、私の現在の解決策を示します。character"それは機能しますが、このクラスは通常のディスパッチャーへの処理に使用されto = "character、無限再帰が発生するため、クラスに強制するオプションを「失っています」 。さらに、それは多くのオーバーヘッドです。

編集 2011-12-02

もちろんsetAs、チェックする最初のアドレスになります。しかし、arg defin で指定された関数setAsは 1 つの引数しかとることができません。do.deep = TRUE/FALSEたとえば、を使用するときにスイッチを含める方法がわかりませんsetAs

クラス定義

一般的な方法

中間変圧器

「MyVirtual」から「list」への強制メソッド

テスト走行

0 投票する
1 に答える
1088 参照

r - S3 クラスの show メソッドを定義する

show が S4 ジェネリックであり、S3 ディスパッチを使用して show 関数を機能させる方法が見つからないことを知って、私はかなり唖然としました。簡単なデモンストレーション:

ここでは S3 ディスパッチはありません...

どう思いました?

そして、印刷のためにそれは機能します。

S3 にとどまるかなりの理由があります (その大部分は、オブジェクトがブートストラップで広く使用されるため、オーバーヘッドの最小化です)。ここで別の show および print メソッドを定義するにはどうすればよいですか?

0 投票する
1 に答える
535 参照

r - 同じ名前の関数が既に存在する場合は、S4 メソッドを定義します

関数myFunctionがあり、同じ名前の S4 メソッドを作成する必要があります (理由は聞かないでください)。myFunction
の古い機能を維持したいと思います。

古い機能を維持する方法はありますか?

シグネチャが大きく異なる可能性があるため、この古い関数のジェネリックを設定したくありません...

0 投票する
2 に答える
10737 参照

r - S4 オブジェクトのスロットの値を取得していますか?

だから私はRにspatialpolygonsオブジェクトを持っています。しかし、「エリア」スロットを取得できない理由がわかりません。

これが私のRセッションです:

0 投票する
1 に答える
828 参照

r - 多重継承の使用が推奨されないのはなぜですか?

RでS4クラスを作成しています。

https://github.com/hadley/devtools/wiki/S4で読みました

S4は多重継承をサポートしていることに注意してください。ただし、メソッドの検索が非常に複雑になるため、これは細心の注意を払って使用する必要があります。

メソッドルックアップとは何ですか?また、多重継承で複雑になるのはなぜですか?