2012-03-20 3 views
4

データフレーム列内の発生数からpiechartを作成します。しかし、私はpiechartを作る前に削除したい単語が5つあります。私は、データフレームを持っていると私のような何か使用してこれらの行を削除することができます。私は、プロットR内のデータフレーム行を完全に削除しました。削除されたデータに対して0を返すstop table()

pie(table(df$tag) 

酷いはまだ円グラフではなく、ゼロのインスタンスが表示されますを使用している場合しかし、

subset(df, tag != "rubbish") 

を。

tag1 3 
tag2 7 
rubbish 9 

以降

tag1 3 
tag2 7 
rubbish 0 

がとにかくあり、テーブルなしで完全にゴミを取り除くためには、()は0を返すサブセット前

table(df$tag)は私のようなものを与えますか?私はtable(df$tag, exclude="rubbish")を試しましたが、削除したいタグが2つ以上あります。

答えて

5

私は問題はdf$tagが要因、またはカテゴリ変数であると思います。特定のカテゴリをファクタから削除しても、そのファクタに関連付けられたレベルは変更されません。 tableは、因子に関連するレベルを反復処理します。たとえレベルが空であってもtableですので、rubbish 0です。解決策は、タグを削除した後に要素を再作成することです。

subset(df, tag != "rubbish") 
levels(df$tag) 
df$tag = factor(df$tag) 
levels(df$tag) 
table(df$tag) 

これは問題を解決するはずです。

+0

完璧!解決策は素晴らしいですが、問題を説明するために余分なおかげです。 – ds10

+3

'液滴(サブセット(df、tag!=" rubbish "))'は簡単です... –

+0

omg、コメントありがとう! –

関連する問題