私は、クラス "S4DeqResults"を持っています。私が私を考え始めていますどのようにしてR S4オブジェクトを拡張して新しいスロットを確保し、元のオブジェクトを同じように動作させることができますか?
[email protected]_slot = 5
:基本的に、私は理想的には、このオブジェクトに新しい情報を追加できるようにしたい、私はちょうど私のようなものを保存することができますので、それにいくつかのスロットを追加したいです「DESeqResults」を継承するサブクラスを作成しなければなりませんが、Rのようにそれをどうやって行うかについては正確にはわかりませんが、元のオブジェクトからのデータをそのままどのように保つかについてはもっと心配です。
本質的に、ライブラリはこの "DESeqResults"クラスオブジェクトを作成して使用しており、作成されてデータがあると、多くの機能に使用されます。これらのうちの1つを作成したら、オブジェクトに新しい情報を追加したいだけです。このクラスを拡張して余分なスロットを持つクラスを作成すると、クラスの元のインスタンスから既存のデータをすべてサブクラスの新しいインスタンスにどのように転送できますか?
私がここでやろうとしていることを達成する最良の方法は何でしょうか?任意のオブジェクトがインスタンス化される前に元のクラスを変更して、作成時に余分なスロットが必要になることはありますか?それともこれを達成するための他の方法がありますか?
ありがとうございました!で
## x is some DESeqResults object
x <- as(x,"myDESRclass")
[email protected]_slot <- 5
:
setClass(
"myDESRclass",
contains="DESeqResults",
slots=c(new_slot="numeric")
) -> myDESRclass
は、その後、あなたのクラスにオブジェクトを変換するためにas
を使用することができます。