2015-12-15 7 views
6

性別、テーマなどで編成された1000曲のリストを含むテーブルを作成しました。何年も繰り返され、他のカテゴリには何回あるか知りたいと思います。他のものを含む最も上に重複した値を集計します

sort(summary(as.factor(canciones$YEAR)), decreasing=T)[1:3] 

を、出力は次のとおりです:私は試してみました

1968 1966 1979 
    39 37 34 

しかし、私はそれは

1968 1966 1979 Others 
    39 37 34 950 
+1

と呼ばれるパラメータを使用して解決しましたか? – Nancy

+2

ここで 'table'を使わないのはなぜですか? – TARehman

答えて

8

になりたいここではいくつかのサンプルデータがあります。

set.seed(1) 
x <- sample(10, 500, TRUE) 

サマリー全体を実行し、最初の3つのサブセットを実行し、残りの値を「その他」として計算し、最後に固定します。さらにがこれをフードの下に置いているので、summary(factor())の代わりにtable()を使うことができると思います。

xx <- sort(table(x), decreasing = TRUE) 
c(xx[1:3], Others = sum(xx[-(1:3)])) 
#  5  2  4 Others 
# 64  61  57 318 

注:Others = length(x) - sum(xx[1:3])を使用するのが早い場合と遅くなる場合があります。

0

私たち(と将来の読者が)あなたの問題を再現できるように、この質問の再現性と一般化の例を提供することができますmaxsum

plot_data <- sort(summary(as.factor(canciones$YEAR),maxsum=3), decreasing=T)[1:3]