2017-09-02 10 views
-1

私は列内の数列と私のカートの数を検索したい大きなデータセット(データフレーム)を持っています。R列内のすべてのカテゴリを取得

例えば私のDFは、そのようにした

A B 
1 car 
2 car 
3 bus 
4 car 
5 plane 
6 plane 
7 plane 
8 plane 
9 plane 
10 train 

私が見つけたいでしょう:

car 
    bus 
    plane 
    train 
    4 

はどのように私はそれを行うのでしょうか?

+1

あなたは '数とnames'で何を意味するのですか?何番?たとえば、4はどこから来たのですか?頻度を意味するなら、 'table(df $ B)'のようなものを使いたいかもしれません。 – coffeinjunky

答えて

4
categories <- unique(yourDataFrame$yourColumn) 
numberOfCategories <- length(categories) 

かなり痛いです。

1

あなたは、単にユニーク使用することができます。

x <- unique(df$B) 

をそして、それは、カラム内のユニークな値を抽出します。適用時にそれを使用して各列から取得することもできます。

2

これはユニークな、独特の長さ、および周波数を与える:

table(df$B) 
bus car plane train 
1  3  5  1 

length(table(x$B)) 
[1] 4 
2

すでにされていない場合、私は、あなたがここに要因を使用することをお勧めします。それは簡単で簡単です。

levels()は、ユニークなカテゴリを与えるとnlevels()は、それらの数を示します。データに最初にdroplevels()を実行すると、データに含まれない可能性のあるレベルがすべて処理されます。

with(droplevels(df), list(levels = levels(B), nlevels = nlevels(B))) 
# $levels 
# [1] "bus" "car" "plane" "train" 
# 
# $nlevels 
# [1] 4 
+2

ありがたいことに、 'droplevels'のデータフレームメソッドがあります –

関連する問題