2017-09-02 136 views
-1

我有一個大的數據集(數據框),我想在列中查找我的cartegories的數量和名稱。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

你對數字和名字有什麼意思?什麼號碼?例如,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

謝天謝地,有一種數據框架方法用於「水滴」 –

相關問題