0

私の Ldt1 オブジェクトには次のプロパティがあります。

> is(Ldt1)
[1] "data.frame" "list"       "oldClass"   "vector"

data.frameのみに変更したいです。どうすればできますか?

編集:

「なぜ?」という質問に答えています。

2 つのパッケージ間で作業する必要があります。最初のパッケージは別のクラス オブジェクトで動作し、2 番目のパッケージは別のクラスで動作します。データ操作プロセスで、オブジェクトに添付された不要なクラス型に問題があり、次のようなエラー メッセージが表示されます。

No method for an object of class genotypeNo method for an object of class factor
4

1 に答える 1

2

あなたは単にできません。すべての data.frames はリストであり、すべてのリストはベクトルです。(とにかく、なぜそのようなことをしたいのですか?)

適切に作成されたメソッドは、求められているクラスがクラス属性のリストにあるか、または継承されたクラスのいずれかにあるかを確認するために作成されます。あなたの場合、あなた(またはあなたのプログラムの1つ)はデータ入力エラーを起こし、数値ベクトルであるべきだと思っていたものを因子ベクトルに変えたようです. オブジェクトまたはコンポーネントを特定し、「as.numeric(as.character(facvar))」で強制することで成功する可能性があります。(その特定の方法は FAQ の質問です。)ここでより良い方法は、入力または処理エラーの原因を特定することです。

于 2012-04-18T04:25:13.313 に答える