0

重複の可能性:
Rのサブセット化されたデータフレームの因子レベルのドロップ

ここでRに少し不満を感じています。誰かが次のことを手伝ってくれるといいですね:データセットからサブセットを取得しようとしていますが、正しく機能しません。

詳細:単語と各単語に関連付けられたさまざまな機能を含むスプレッドシートがあります。たとえば、単語の冠詞の長さ... ...現在、個々の単語を調べようとしています。たとえば、単語が「ヘアブラシ」であるすべてのインスタンスを引き出します。そうするために、私は試しました:

hairbrush=subset(dataset, word=="hairbrush")

これは正常に機能しているようで、fixまたはで表示すると適切なデータセットが得られますhead。しかし、私が何かのようなことをしようとするとすぐにxtabs、他のすべての単語がまだ「そこに」あり、私の統計を台無しにするので、私はそれほど遠くには行きません。たとえば、私がそうするときlevels、それは私に「ヘアブラシ」を与えますが、他のすべての200語も与えます。これらの「隠された言葉」に関連するすべてのデータはありますNAが、それでも私の統計を台無しにします。

それは通常の動作subsetですか?それとも私は何か間違ったことをしていますか?それともこれは間違ったアプローチですか?

ああ、そしてグーグルのいくつかの同様の質問で、人々はいつもの出力を求めたstrので、ここにあります:

> str(hairbrush)
'data.frame':   41 obs. of  10 variables:
 $ id       : Factor w/ 1352 levels "1-1-1-11-a.eaf",..: 210 240 267 295 320 351 378 403 427 452 ...
 $ speaker  : num  24 25 26 28 29 30 32 33 34 35 ...
 $ loc      : Factor w/ 2 levels "nb","xx": 1 1 1 1 1 1 1 1 1 1 ...
 $ gilbertno: Factor w/ 27 levels "1","10","108",..: 1 1 1 1 1 1 1 1 1 1 ...
 $ tword    : Factor w/ 65 levels "abaddream","afuneral",..: 4 4 4 4 4 4 4 4 4 4 ...
 $ word     : Factor w/ 228 levels "abbe","aepfel",..: 164 93 99 93 92 100 94 94 28 93 ...
 $ loan     : Factor w/ 5 levels "FILE","maybe",..: 4 3 5 3 5 5 3 3 3 3 ...
 $ article  : Factor w/ 40 levels "a","das","dat",..: 34 34 33 33 34 34 34 34 13 34 ...
 $ gender   : Factor w/ 13 levels "a","af","amn",..: 11 11 7 7 11 11 11 11 7 11 ...
 $ comment  : Factor w/ 4 levels "0","die macht ja vorschlaege",..: 1 1 1 1 1 1 1 1 1 1 ...
4

2 に答える 2

4

droplevels未使用のレベルをクリーンアップするには、サブセット化後に使用する必要があります。

于 2012-11-24T15:33:06.237 に答える
3

subset意図したとおりに機能しています。あなたが抱えている問題は、であることに起因しwordていfactorます。をサブセットdata.frame化しても、subset変数は再定義されないためword、元のデータセットの一部であったすべてのレベル情報を引き続き保持します。droplevelsを使用して、未使用のレベルをすべて削除してみてくださいdata.frame

于 2012-11-24T15:35:37.917 に答える